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? 🙂

  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. ?>

Deine Meinung zu diesem Artikel?


Ein Kommentar zu "PHP: Altersabfrage" (RSS)

Ein Beispiel mit der Integration eines Datepickers mit jQuery oder ähnlichem würde sich ganz gut machen.