2016-06-30 13 views
0

Ich benutze ein Formular und muss ein Datum in Tag, Monat und Jahr trennen. Ich habe einen Weg gefunden, das Datum zu trennen, während ich die Variable $ enterdate verwende.Erhalten Wert des Eingabeformulars (PHP)

<form action="/datepage.php" method="get"> 
    <label data-for="date">Enter Date:</label> 
<?php $enterdate = $GET["date"]; list ($day,$month,$year) = split('[/.-]', $enterdate); ?> 
    <input type="text" id="datefield" name="date" class="datepicker" value="" autocomplete="off" /> 
    <input type="hidden" id="day" name="day" value="<?php echo $day; ?>" /> 
    <input type="hidden" id="month" name="month" value="<?php echo $month; ?>" /> 
    <input type="hidden" id="year" name="year" value="<?php echo $year; ?>" /> 
    </form> 

Aber ich weiß nicht, wie kann ich den Wert des Eingabefeldes zu erhalten, die Benutzer innerhalb des Eingabefeldes (id = „Datefield“) gefüllt. Geben Sie zum Beispiel der Benutzer folgende Datum: 14.01.16

Denn ich diese Ausgabe in der URL GET benötigen:

& date = 14.01.16 & Tag = 14 & Monat = 01 & Jahr = 16

Jeder hat eine Idee, was ich falsch gemacht habe?

+2

eine Taste und klicken Sie auf das Eintragen hinzufügen wurde hinzugefügt und überprüfen, was –

+0

geschehen ist, würde ich Javascript verwenden, um meine Form im Gegensatz zu bauen zu php. Was passiert mit dem bekommen? Schreibst du das auf eine andere Seite? Ich verstehe nicht, wie die Werte in den ausgeblendeten Feldern festgelegt werden, wenn diese Seite nicht neu geladen wird, und Sie diese Daten dann erneut posten möchten. – Radmation

+1

Zuerst wäre es '$ _GET [" date "]', und zweitens können Sie natürlich nicht auf diesen Wert serverseitig _before_ zugreifen, nachdem der Benutzer das Formular abgeschickt hat. – CBroe

Antwort

-1

Ist es eine Voraussetzung, die Daten in der URL ?? Mit GET senden Sie die Daten in der URL.

Ich würde es auf diese Weise tun - (Zusammenfassung: veröffentlichen die Daten der Post Aktion und nutzen jQuery mit den Werten der versteckten Eingänge auszufüllen)

Dies sollte den Trick. Wenn der Benutzer ein Datum auswählt, werden die verborgenen Formularfelder mit den korrekten Werten aktualisiert. Auf diese Weise erhält der Server beim Ablegen dieses Formulars die Werte.

Ihr Formular mit einer einreichen Eingabe hinzugefügt:

<form action="/datepage.php" method="POST"> 
    <label data-for="date">Enter Date:</label> 
    <input type="text" id="datefield" name="date" class="datepicker" value="" autocomplete="off" /> 
    <!-- set from jQuery --> 
    <input type="hidden" id="day" name="day" value="" /> 
    <input type="hidden" id="month" name="month" value="" /> 
    <input type="hidden" id="year" name="year" value="" /> 
    <input type="submit" name="submit" value="Submit" /> 
    </form> 

jQuery, die die richtigen Werte in der Form, werden nach dem Datepicker Datum ausgewählt ist.

<script> 
    $("#datefield").datepicker({ 
     onSelect: function(dateText) { 
     var tempArray = dateText.spit('-'); // not sure if you are using - or/
     var day = $tempArray[0]; 
     var month = $tempArray[1]; 
     var year = $tempArray[2]; 
     // add that to the hidden values 
     $("#day").attr("value", day); // set the day value 
     $("#month").attr("value", month); // month 
     $("#year").attr("value", year); // year 
     } 
    }); 

    </script> 

Und Ihre Server-Seite:

// if the form was submitted show the results on the screen. 
if(isset($_POST['submit'])) { 
    echo $_POST['date']; // fulldate 
    echo $_POST['day']; 
    echo $_POST['month']; 
    echo $_POST['year']; 
} 

Der Unterschied zwischen GET vs POST http://www.w3schools.com/tags/ref_httpmethods.asp

Viel Glück!

+0

die Frage ist über Daten auf PHP-Seite –

+0

@ СеменихинМаксим bekommen nach dem Senden der Schaltfläche wird die Daten serverseitig gedrückt .. – Radmation

0

Wenn Sie mit FORMT mit method="get" alle seine Eingänge datepage.php in $_GET Array übergeben werden So können Sie wie folgt auf Ihre Eingaben zuzugreifen:

echo $_GET['date']; 
echo '<br />'; 

echo $_GET['day']; 
echo '<br />'; 

echo $_GET['month']; 
echo '<br />'; 

echo $_GET['year']; 
echo '<br />'; 

Denken Sie daran, dass sie $ _GET Array gespeichert in dem Schlüssel in Namen von Eingängen.

Ihre HTML-Formular:

<form action="/datepage.php" method="get"> 
    <label data-for="date">Enter Date:</label> 
    <?php $enterdate = $GET["date"]; list ($day,$month,$year) = split('[/.-]', $enterdate); ?> 
    <input type="text" id="datefield" name="date" class="datepicker" value="" autocomplete="off" /> 
    <input type="hidden" id="day" name="day" value="<?php echo $day; ?>" /> 
    <input type="hidden" id="month" name="month" value="<?php echo $month; ?>" /> 
    <input type="hidden" id="year" name="year" value="<?php echo $year; ?>" /> 
    <input type="submit" value="Submit"> 
</form> 

Schaltfläche Senden, um Ihre Form

Verwandte Themen