Tom: PHP Altersprüfung!

Beitrag lesen

Hello,

wo muß ich den variable einfügen?

$_POST['jahr'] = intval($_POST['jahr']);

Die Variable ist schon da, wenn das Script aufgerufen wird, wenn z.B. am Formular nichts manipuliert wurde...

Also richtigerweise müsste man vorher fragen, ob die Variable überhaupt vorhanden ist:

if (!isset($_POST['jahr']))   ### die Variable wurde gar nicht angelegt
   {
      ## Abbruch mit böser Fehlermeldung
   }
   else
   {
      $_POST['jahr'] = intval($_POST['jahr']);  ## Inhalt von $_POST['jahr'] vorbehandeln
   }

Diese Vorbehandlung des Inhaltes sollte vor der ersten echten Verwendung (nächster Block) stattdinden

if($todo=="check")
{
$timestamp = time();
$currentyear = date("Y",$timestamp);
$minimumyear = $currentyear-16;

if($_POST["jahr"]<$minimumyear)   ### hier wird $_POST['jahr'] verwendet

Da Clients lügen können, die Daten auch von Bots geschickt werden können usw. sollte man immer erst prüfen, ob die erwarteten Daten da sind, ob nicht wventuell zuviele Daten (mehr als erwartet) gekommen sind und ob die Daten im richtigen Format vorliegen, damit sie in den passenden Typ umgewandelt werden können. Außerdem prüft man, wo es nötig ist, ob der Inhalt der Variablen palusible Inhalte enthält und "verpackt" (maskiert) sie so, dass sie für die weitere Verarbeitung unschädlich sind. Das ist aber immer abhängig davon, was man damit macht.

Ein harzliches Glückauf

Tom vom Berg

http://bergpost.annerschbarrich.de
.

--
Nur selber lernen macht schlau