Da ich nach einem Skript der folgenden Art gefragt wurde, gibt's hier einen PHP-Schnipsel, um das Alter eines Nutzers abzufragen und entsprechend Text anzuzeigen:

Werbung

Werbeblocker aktiv?

Vermutlich aufgrund eines Werbeblockers kann an dieser Stelle leider keine Werbung angezeigt werden. Als Blog ist diese Website jedoch darauf angewiesen, um diverse Kosten abdecken zu können.

Vielleicht möchtest du Servaholics ja in deinem Werbeblocker als Ausnahme hinzufügen und so unterstützen? Das wäre jedenfalls sehr nett! :-)

  1. <?php
  2. $min_alter = '18'; // Wie alt muss ein Nutzer mindestens sein?
  3.  
  4. // Falls das Formular abgeschickt wurde
  5. if (isset($_POST['submit'])) {
  6. 	// Eingegebene Daten auf Logik prüfen
  7. 	$timestamp = strtotime($_POST['YYYY']."-".$_POST['mm']."-".$_POST['dd']);
  8. 	if ($timestamp !== false AND $timestamp != 0) { // Falls die Daten ein logisches Datum bilden
  9.  
  10. 		// Alter berechnen
  11. 		$alter = date("Y", time()) - $_POST['YYYY'] - 1;
  12. 		if (date("m", time()) > $_POST['mm']) {
  13. 			$alter++;
  14. 		}
  15. 		if (date("m", time()) == $_POST['mm']) {
  16. 			if (date("d", time()) >= $_POST['dd']) {
  17. 				$alter++;
  18. 			}
  19. 		}
  20.  
  21. 		// Falls alt genug
  22. 		if ($alter >= $min_alter) {
  23. 			echo 'Du bist '.$min_alter.' oder &auml;ter!';
  24. 		} else { // Falls nicht
  25. 			echo 'Du solltest eigentlich mindestens '.$min_alter.' Jahr';
  26. 			if ($min_alter != 1) { echo 'e'; }
  27. 			echo ' alt sein.';
  28. 		}
  29. 	}
  30. } else { // Falls noch kein Geburtstag angegeben
  31. 	?>
  32. <form action="" method="post">
  33. 		An welchem Tag wurdest du geboren? 
  34. <select name="dd" size="1">
  35. 			<?php
  36. 			for ($i=1;$i<=31;$i++) {
  37. 				if (strlen($i) == 1) {
  38. 				$i = '0'.$i;
  39. 				}
  40. 				echo '
  41. <option value="'.$i.'"';
  42. 				if (date("d", time()) == $i) {
  43. 				echo ' selected="selected"';
  44. 				}
  45. 				echo '>'.$i.'</option>
  46.  
  47. ';
  48. 			}
  49. 			?>
  50. 		</select>
  51. <select name="mm" size="1">
  52. 			<?php
  53. 			for ($i=1;$i<=12;$i++) {
  54. 				if (strlen($i) == 1) {
  55. 				$i = '0'.$i;
  56. 				}
  57. 				echo '
  58. <option value="'.$i.'"';
  59. 				if (date("m", time()) == $i) {
  60. 				echo ' selected="selected"';
  61. 				}
  62. 				echo '>'.$i.'</option>
  63.  
  64. ';
  65. 			}
  66. 			?>
  67. 		</select>
  68. <select name="YYYY" size="1">
  69. 			<?php
  70. 			for ($i=1900;$i<=date("Y", time());$i++) {
  71. 				echo '
  72. <option value="'.$i.'"';
  73. 				if (date("Y", time()) == $i) {
  74. 				echo ' selected="selected"';
  75. 				}
  76. 				echo '>'.$i.'</option>
  77.  
  78. ';
  79. 			}
  80. 			?>
  81. 		</select>
  82. <input type="submit" name="submit" value="Abschicken" />
  83. 	</form>
  84.  
  85. 	<?php
  86. }
  87. ?>

Ein Kommentar zu "PHP: Altersabfrage" (RSS)

7. September 2011 00:07 UhrAntworten#
Ein Beispiel mit der Integration eines Datepickers mit jQuery oder ähnlichem würde sich ganz gut machen.

Jetzt bist du dran: Was denkst du?

Bitte beachte: Auch wenn das Angeben einer E-Mail-Adresse optional ist, so bist du doch nicht vollständig anonym, denn u.a. deine IP-Adresse wird mit dem Absenden dieses Formulars gespeichert.



Tastenkürzel


Überall

j: Älterer Artikel

k: Neuerer Artikel

s: Suchen

h: Hilfe


Auf Artikel-Seiten

t: Auf Twitter posten

f: Auf Facebook posten

g: Auf Google+ posten