Datum aus Formular in mysql schreiben

  • Hallo.


    Ich versuche etwas ähndliches nur in einer grösseren DB.


    Gerne würde ich über die "select" Methode Datumsangaben in eine spalte der DB speichern.
    Das Problem ist vermutilch ähndlich wie hier, dass er das ausgewählte Datum nicht in die DB schreibt, der "Input Type" kann auch kein "Submit" sein da es sich um ein ganzes formular handelt was dann gesendet wird.


    So sieht der aktuelle Code aus, nun um Leerzeilen und KOmmentare verkleinert, welcher auch problemlos funktioniert sofern man das Datum in das Textfeld einträgt.
    Versucht habe ich schon einiges, zur übersichtlichkeit setzte ich dne Code jedoch zurück, momentan ist nur die definition

    Code
    $geburtsdatum = $_POST['geburtsdatum_tag'].'.'.$_POST['geburtsdatum_monat'].'.'.$_POST['geburtsdatum_jahr'];


    zusätzlich dabei, wie natürlich der name in der "Function renderForm" (hier sind noch ungelistete enthalten).


    PHP
    <?php
    $geburtsdatum = $_POST['geburtsdatum_tag'].'.'.$_POST['geburtsdatum_monat'].'.'.$_POST['geburtsdatum_jahr'];
    
    
    
    
    function renderForm($one, $two, $three, $four, $five, $six, $seven, $eight, $nine, $geburtsdatum, $eleven, $twelve, $thirteen, $fourteen, $fifteen, $sixteen, $seventeen, $eighteen, $error)
    {
    ?>


    HTML
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <html>
    <head>
    <title>New Record</title>
    </head>
    <body>


    PHP
    <?php
    // if there are any errors, display them
    if ($error != '')
    {
    echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
    }
    ?>



    Hier in Zeile 17 liegt vermutlich das Problem



    Einfügen würde ich geren folgendes, wenn machbar aus einer separaten .php, da dies so einiges an Codezeilen geben dürfte (natürlich auf 31 Tage und einige Jahrzehnte ausgeweitet).



    Der "input type" soll kein "submit" sein, da das ganze Formular als eines abgesendet werden soll, man sollte nur das Datum auswählen können und dies so übernehmen.



    Danach werden im gleichen file die Werte in die DB geschrieben, das Geburtsdatum soll ein "muss" Kriterium bleiben (Leerzeilen verkleinert da hier nicht das Problem liegen wird).


  • Verzeihung, falls mein Einwand unberechtigt ist, da ich selber Anfänger in Sachen PHP & MySQL bin.
    Aber meines Wissens nach macht folgendes wenig Sinn:

    Zitat


    $anrede = mysql_real_escape_string(htmlspecialchars($_POST['anrede']));
    $vorname = mysql_real_escape_string(htmlspecialchars($_POST['vorname']));


    SQL-Input soll man doch erst vor dem Schreiben in die DB "escapen" und Inhalt erst vor der Darstellung als HTML mit htmlspecialchars umwandeln, zumindest habe ich das so verstanden. Die Umwandlung soll also immer erst dann stattfinden, wenn sie relevant ist.


    Hinzukommt, dass mysql_real_escape_string laut PHP Manual veraltet ist. Hier wird entweder auf PDO oder auf die neuere Funktion mysqli_real_escape_string() verwiesen.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!