2016-06-30 7 views
0

私は書式を使用しており、日付を日、月、年に分割する必要があります。変数$ enterdateを使って日付を区切る方法を見つけました。入力フォームの値を取得する(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> 

しかし、私は知りません、どのように私は、ユーザーが入力フィールド(idは=「日付フィールド」)内に充填され、入力フィールドの値を取得します。私は、これはURLに出力をGET必要なすべての後14.01.16

:たとえば、ユーザーが次の日付を入力し

&日= 14.01.16 &日= = 01 &年14月& = 16

誰かが私が間違っていたアイデアを持っていますか?

+2

に追加された送信ボタンを追加し、その上でクリックして、 –

+0

起こるされている情報を確認し、私は自分のフォームが反対し構築するためにはJavaScriptを使用しますPHPに。何が起こるのでしょうか?これを別のページに投稿していますか?このページがリロードされていない場合に、値を隠しフィールドに設定する方法がわからない場合は、そのデータを再度ポストしたいのですか? – Radmation

+1

まず、$ _GET ["date"] 'となります.2番目に、ユーザーがフォームを送信する前にサーバー側でその値にアクセスすることはできません。 – CBroe

答えて

-1

URLにデータを格納する必要がありますか? GETを使用すると、URL内のデータが送信されます。

私は、このようにそれを行うだろう - (サマリー:ポストアクションを使用してデータを投稿し、隠された入力の値を記入するjQueryのを使用)

これはトリックを行う必要があります。これは、ユーザが日付を選択した後に、隠しフォームフィールドを正しい値で更新することです。この方法でこのフォームを投稿すると、サーバーは値を取得します。提出入力と

フォームが追加さ:日付ピッカーの日付が選択された後、フォームに正しい値を入れます

<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を。

<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> 

そして、あなたのサーバー側:

// 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']; 
} 

POST http://www.w3schools.com/tags/ref_httpmethods.asp

幸運対GETの違い!あなたはmethod="get"でformt使用している場合は

+0

質問は、送信ボタンが押された後にデータがサーバー側になると、PHP側でデータを取得することです。 –

+0

@СеменихинМаксим – Radmation

0

そのすべての入力がですから、このようなあなたの入力にアクセスすることができ$_GET配列 にdatepage.phpを渡されます。

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

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

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

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

彼らはどこの$ _GET配列に格納されていることに留意してください入力の名前のキー。

あなたのHTMLフォームは:

<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> 

送信ボタンをがフォーム

関連する問題