Andreas: Split() und list(), bekomme es nicht gebacken

Hallo,
gebe in ein Formular ein Datum ein. Danach werte ich es aus:

$birthdate = $_POST['birthdate'];
list($day, $month, $year) = split(".", $birthdate);
echo $_POST['birthdate'];
$birthdate = $year."-".$month."-".$day;
die($birthdate);

Aber nichts funktioniert. Es wird zwar das Datum $_POST['birthdate'] richtig ausgegeben, mit Punkten als trenner, aber $birthdate ist bei der Ausgabe nur --

Gruß Andreas

  1. Hallo Freunde des gehobenen Forumsgenusses,

      
       $birthdate = isset($_POST['birthdate']) ? $_POST['birthdate'] : $wertfürnichtvorhanden;  
    
    > list($day, $month, $year) = split(".", $birthdate);  
    
       $date = explode('.', $birthdate);  
    
    > echo $_POST['birthdate'];  
    > $birthdate = $year."-".$month."-".$day;  
    
       $birthdate = $date[2].'-'.$date[1].'-'.$date[0];  
    
    > die($birthdate);  
    
    

    Aber nichts funktioniert. Es wird zwar das Datum $_POST['birthdate'] richtig ausgegeben, mit Punkten als trenner, aber $birthdate ist bei der Ausgabe nur --

    error_reporting auf 2047? Vermutlich existieren die Variablen, die du ausgeben willst nicht (oder sind leer).

    Gruß
    Alexander Brock

    --
    SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}
    http://againsttcpa.com
    1. Hallo,

      $birthdate = isset($_POST['birthdate']) ? $_POST['birthdate'] : $wertfürnichtvorhanden;

      Das Datum parse ich schon vorher, das ist nicht das Prob.

      $date = explode('.', $birthdate);

      genau das hats gebracht. Aber warum geht mein Beispiel nicht? ist identisch mit einem Beispiel bei php.net/split

      error_reporting auf 2047? Vermutlich existieren die Variablen, die du ausgeben willst nicht (oder sind leer).

      Muss ich denn die Variablen zuvor deklarieren?

      Gruß Andreas

      1. Hallo Freunde des gehobenen Forumsgenusses,

        genau das hats gebracht. Aber warum geht mein Beispiel nicht? ist identisch mit einem Beispiel bei php.net/split

        Egal. split ist deprecated, weil zu langsam und in deinem Fall mit Kanonen auf Spatzen geschossen.
        Nimm explode, wenn möglich und preg_split, wenn wirklich unumgänglich.

        Gruß
        Alexander Brock

        --
        Ceterum censeo Carthaginem esse delendam
      2. echo $begrüßung;

        Aber warum geht mein Beispiel nicht? ist identisch mit einem Beispiel bei php.net/split

        "Bitte beachten Sie, dass Suchmuster ein regulärer Ausdruck ist."

        echo "$verabschiedung $name";

    2. echo $begrüßung;

      $date = explode('.', $birthdate);
         $birthdate = $date[2].'-'.$date[1].'-'.$date[0];

      Und was ist, wenn in $birthdate keine zwei '.' enthalten sind?

      echo "$verabschiedung $name";

      1. Hallo Freunde des gehobenen Forumsgenusses,

        Und was ist, wenn in $birthdate keine zwei '.' enthalten sind?

        Andreas' Problem. Bzw. hoffentlich nicht, er selbst schreibt doch
        "Das Datum parse ich schon vorher", da wird er das ja hoffentlich überprüfen.

        Gruß
        Alexander Brock

        --
        [latex]\lim_{3 \to 4}{\sqrt{3}} = 2[/latex]
        1. Hallo,

          Und was ist, wenn in $birthdate keine zwei '.' enthalten sind?

          tja, das war ja nicht meine Fragestellung.
          ich hab ja auch nicht gesagt dass die Datum-Eingabe durch eine Funktion überprüft wird. Erst nach Bestätigung dass das Datum gültig und plausibel ist wird es umgewandelt zum Speichern in der Tabelle.

          Gruß Andreas