1

(基本的なチュートリアルから) 登録ページを作成しています。入力には次のような検証が含まれています -

if (isset($_POST['formsubmitted'])) {
$error = array();//Declare An Array to store any error message  
if (empty($_POST['name'])) {//if no name has been supplied 
    $error[] = 'Please Enter a name ';//add to array "error"
} else {
    $name = $_POST['name'];//else assign it a variable
}

問題は、誤った入力があった後、エラー メッセージが表示されたときにフォームのデータがクリアされることでした。これを回避するために、フォーム入力に次を実装しました-

value='<?php echo $_POST['name']; ?>'

これは、エラー時にフィールドがデータを保持することを意味していました。偉大な。問題は、フォームが正常に送信されたときに、本当に必要のないデータがまだ保持されていることです。

フォームがエラーを返した場合 - データが残り、フォームが正常に送信された場合 - データがクリアされる「簡単な」方法はありますか?

4

1 に答える 1

0

入力ごとに、配列を使用します。例:

<input name="customer[name]" type="text" value="<?php echo $customer['value'] || "" ?>"/>

エラーがない場合は、$customer 配列をリセットします。

    <?php if count($errors === 0) {
       $customer = NULL;
    }

それは、フォームを非表示にしたくない場合です...

于 2013-01-27T00:01:29.783 に答える