Geburtsdatum von select fenstern mit einem $ POST abschicken

super super jetzt ****t es, ich lese mir jetzt noch mal alles genau durch um dasd verständnis zu bekommen.
Ich bedanke mich recht herzlich für deine super Hilfe und die dazugehörigen erklärungen.

Ich muss auch noch dazu sagen, das es selten ein Forum gibt bei dem man solch eine schnelle Hilfe bekommt.
Als Anfänger wird man nach meinem Gefühl nur vom lesen her in einem bestimmten PHP:rolleyes: Forum nur "Dumm angemacht" wird.
Kann ich hier und bei ajax-community.de überhaupt nicht behaupten;)

und Noch mal vielen Dank für die bisherige Hilfe hätte ich bloß direkt mal hier gefragt, statt mich 3 Tage lang zu Quählen.
 
Danke für die Blumen :-)

Wenn ich Anfänger dumm anmache, weil ich mich so überfähig halte, brauch ich doch nicht in einem Forum Support geben. Es widerspricht der Sache an sich und verstößt gegen alle Regeln der guten Zusammenarbeit... Eines Tages werde ich auch mal Hilfe benötigen und dann bekomme ich keine, wenn ich mich asozial verhalte.

Nichtsdestotrotz sollte man gerade als Anfänger aufmerksam die Dokumentation lesen. Ich kann jedoch verstehen, wenn das manchmal lästig ist, weil man unbedingt schnell zum Ziel kommen will. Problem dabei ist, das man dann zwar eine passende Lösung hat, aber nicht versteht, warum es funktioniert.

Daher bei jedem Befehl, den du neu kennen lernst, einfach mal in der Dokumentation nachlesen oder hier nachfragen, wenn etwas unklar ist.
 
HI,
ich bin jetzt an der Überprüfung der Eingabe des Geburtsdatums :(
ich habe folgendes getestet

PHP:
            // Prüft, ob ein Geburtsdatum eingegeben wurde
             if (checkdate($_POST['Jahr'], $_POST['Monat'], $_POST['Tag'])=='')
                $errors[]= "Bitte geben Sie Ihr Geburtsdatum ein.";
            // Prüft, ob ein Geburtsdatum angegeben wurde
            elseif (checkdate($_POST['Jahr'], $_POST['Monat'], $_POST['Tag']))
                $errors[]= "Ihr Geburtsdatum muss eingegeben sein.";


Als Fehler kommt : Ihr Account konnte nicht erstellt werden.
Bitte geben Sie Ihr Geburtsdatum ein.

Mit:
PHP:
            // Prüft, ob ein Geburtsdatum eingegeben wurde
             if (checkdate($Geburtsdatum)=='')
                $errors[]= "Bitte geben Sie Ihr Geburtsdatum ein.";
            // Prüft, ob ein Geburtsdatum angegeben wurde
            elseif (checkdate($Geburtsdatum))
                $errors[]= "Ihr Geburtsdatum muss eingegeben sein.";

Notice: Undefined variable: Geburtsdatum in C:\xampp\htdocs\loginscript\registrierungzursicherheit.php on line 88

Warning: checkdate() expects exactly 3 parameters, 1 given in C:\xampp\htdocs\loginscript\registrierungzursicherheit.php on line 88
Ihr Account konnte nicht erstellt werden.


bool checkdate ( int $month , int $day , int $year )

geht ja scheinbar nicht:(

Ich kann nerven :rolleyes:
 
bool bedeutet, das ein Wert true oder false sein kann. Ein leer String kann es nicht sein. Daher ist diese Prüfung vollkommen richtig:

PHP:
        if ( checkdate( $_POST['Monat'], $_POST['Tag'], $_POST['Jahr'] ) == false)
                $errors[]= "Ihr Geburtsdatum muss eingegeben sein.";

Achtung! Es muss die richtige Reihenfolge der Parameter eingehalten werden. checkdate() erwartet als ersten Paramter den Monat, als zweiten den Tag und als dritten das Jahr. Es gibt falsch zurück, wenn das Datum als ungültig befunden wurde. Daher entweder auf false prüfen oder den Negativ-Operator (!) verwenden, wie in diesem ebenfalls korrekten Beispiel:

PHP:
        if ( ! checkdate( $_POST['Monat'], $_POST['Tag'], $_POST['Jahr'] ) )
                $errors[]= "Ihr Geburtsdatum muss eingegeben sein.";

PS: Mach ruhig ein paar Leerzeichen zwischen die Klammern, dann kannst du den Code besser lesen.
 
ist es wegen der Sicherheit auch nur so erlaubt ?
PHP:
// Prüft, ob ein Geburtsdatum eingegeben wurde
             if (isset($Geburtsdatum)){
                $errors[]= "Bitte geben Sie Ihr Geburtsdatum ein.";

Das funktioniert nämlich

PS:Oh dann ist es auch kein Pflichtfeld mehr

Ich teste mal das von dir

PHP:
    if ( ! checkdate( $_POST['Monat'], $_POST['Tag'], $_POST['Jahr'] ) )
                $errors[]= "Geburtsdatum muss eingegeben sein.";

funktioniert wieder Danke :)
 
Zuletzt bearbeitet:
Zurück