-2

コードに問題があります。[送信]をクリックすると、エラーチェックは正常に機能しますが、以前の値は表示されなくなります。私のコードの問題は何ですか?ありがとうございました

<?php

$FnameErr = $LnameErr = $GenderErr = $TimeErr = $EduErr = $ApatErr = $QuoteErr = "";
if($_SERVER["REQUEST_METHOD"] == "POST")
{
    if(empty($_POST["Fname"]))
    {
        $FnameErr = "Enter First Name";
    }
    else
    {
        $Fname = $_POST["Fname"];
    }

    if(empty($_POST["Lname"]))
    {
        $LnameErr = "Enter Last Name";
    }
    else
    {
        $Lname = $_POST["Lname"];
    }

    if(empty($_POST["gender"]))
    {
        $GenderErr = "Enter Gender";
    }
    else
    {
        $gender = $_POST["gender"];
    }

    if(empty($_POST["living"]))
    {
        $ApatErr = "Enter living";
    }
    else
    {
        $living = $_POST["living"];
    }

    if(empty($_POST["quote"]))
    {
        $QuoteErr = "Enter Quote";
    }
    else
    {
        $quote = $_POST["quote"];
    }
    if(empty($_POST["education"]))
    {
        $EduErr = "Enter Education";
    }
    else
    {
        $education = $_POST["education"];
    }

    if(empty($_POST["TofD"]))
    {
        $TimeErr = "Enter Time";
    }
    else
    {
        $TofD = $_POST["TofD"];
    }
    if(isset($Fname) && isset($Lname) && isset($gender) && isset($living) && isset($quote) && isset($TofD))
    {

        echo "Hello, " . $Fname . " " . $Lname . ".<br />";
        echo "You are " . $gender . ", and you live in ";
        foreach($living as $f)
        {
            echo $f . "<br />";
        }

        echo "You're favorite time is " . $TofD . ", and you passed " . $education . "!<br />";
        echo "<i>" . $quote . "</i><br />";
    }
}
?>
4

2 に答える 2

1

これを行う簡単な方法はありません。フォームに値を追加するだけです。

<input type=text name=FName value="<?php echo $FName; ?>">

個々のフォーム入力ごとに同様のことを行います

于 2013-02-27T23:55:17.580 に答える
1

これを行うには、2つの高速な方法があります。

  1. 値を早期にテストするJavaScript。

フォームをPHPscriptに送信する前に、各フィールドのコンテンツをチェックするJavaScript関数を作成する必要があります。コンテンツがない場合は、ページにメッセージを表示します。

  1. PHPを使用します。

You have to add all the values to session, and then, when form is re-loaded(in case if there are no data in one of the fields), add values from session into the form. If there are no errors and form validates, you have to clear your sessions to remove values, so next time when form is loaded, no values will be added.

于 2013-02-27T23:55:23.657 に答える