0

私は簡単なPHPコードを書きました:

<?php
    if (isset($_GET['day']) && isset($_GET['date']) && isset($GET['year'])) {
        $day = $_GET['day'];
        $date = $_GET['date'];
        $year = $_GET['year'];
        if (!empty($day) && !empty($date) && !empty($year)) {
            echo 'It is '.$day.' '.$date.' '.$year;
        } else {
            echo 'Fill in all fields.';
        }
    }
?>

<form action="index.php" method="GET">
    Day:<br><input type="text" name="day"><br>
    Date:<br><input type="text" name="date"><br>
    Year:<br><input type="text" name="year"><br><br>
    <input type="submit" value="Submit">
</form>

私には、すべてが大丈夫に見えます。実行後のエラーはありません。しかし、どちらの出力も。非エコーが表示されます。フォームがあり、データを入力しますが、[送信]をクリックしても同じままです。ページのURLが変更され、そこに入力されたデータが表示されますが、ページにエコーはありません。コードのスペルミスを確認しましたが、見つかりませんでした。前もって感謝します。

4

2 に答える 2

8

これでアンダースコアを忘れました:

 if (isset($_GET['day']) && isset($_GET['date']) && isset($GET['year'])) {

最後の取得で

 if (isset($_GET['day']) && isset($_GET['date']) && isset($_GET['year'])) {
于 2012-10-10T17:41:58.257 に答える
4

そうではあり$_GETません$GET

アンダースコアを追加する必要があります。

$GET['year']

に:

$_GET['year']     
于 2012-10-10T17:42:47.523 に答える