1

検証後にフィールドがリセットされないようにしたい。いくつかのトピックを検索しましたが、コードに実装できません。

if($form_view == true) { 
echo ''; 
if($error != '') { 
    echo '<strong><font color="#FF0000">Fout:</font></strong><br />'.$error.'<br />'; 
} 

echo '<form method="POST" action="'.$filename.'" style="border:0px; margin:0px; padding:0px;"> 
Voornaam
<br /> 
<input type="text" name="voornaam" maxlength="50" id="input_contact" style="width: 200px; value="'.(isset($_POST['voornaam']) ? $_POST['voornaam'] : '').'"> 
<br />
Achteraam 
<br /> 
<input type="text" name="achternaam" maxlength="50" id="input_contact" style="width: 200px; value="'.(isset($_POST['achternaam']) ? $_POST['achternaam'] : '').'"> 
<br />
Adres 
<br /> 
<input type="text" name="adres" maxlength="50" id="input_contact" style="width: 400px; value="'.(isset($_POST['adres']) ? $_POST['adres'] : '').'"> 
<br />
Postcode <h7><i><small>(1234 AB)</small></i></h7>
<br /> 
<input type="text" name="postcode" maxlength="7" id="input_contact" style="width: 100px; value="'.(isset($_POST['postcode']) ? $_POST['postcode'] : '').'"> 
<br />
Woonplaats 
<br /> 
<input type="text" name="woonplaats" maxlength="50" id="input_contact" style="width: 200px; value="'.(isset($_POST['woonplaats']) ? $_POST['woonplaats'] : '').'"> 
<br />
Telefoonnummer <h7><i><small>(0123-456789)</small></i></h7> 
<br /> 
<input type="text" name="telefoonnummer" maxlength="11" id="input_contact" style="width: 100px; value="'.(isset($_POST['telefoonnummer']) ? $_POST['telefoonnummer'] : '').'">
<br /><br /> 

これを1つのフィールドに実装する方法の例を1つ教えてください。

どうもありがとう

4

2 に答える 2

1

彼らがアクセスしているこの特定のページに投稿が行われない場合、$_POST変数にはその情報が含まれません。

$ _SESSION []で送信された情報を配列として保存するのは、手っ取り早い方法です。

フォームが送信されると、現在行っていることを実行することに加えて、セッションに送信された情報を受信スクリプトに保存する必要があります。

if ($_POST['submit']) {
// repeat or configure as desired to save submitted fields into Session
$_SESSION['form_info']['email_address'] = $_POST['email_address'];
}

フォームページ自体では、次を使用します

if (isset($_SESSION['form_info'])) {
// You'll want to most likely consider filtering these using appropriate functions.
<input type="text" name="email_address" maxlength="50" id="email_address" style="width: 200px; value="<?php if (isset($_SESSION['form_info']['email_address']) { $_SESSION['form_info']['email_address']; }  ?>">

}
于 2012-12-26T16:21:21.477 に答える
0

フォーム アクション変数 $filename は、この特定の php ファイルまたは検証が行われる他の場所を参照していますか? フォーム アクションが別の場所で発生した場合、Moylin の回答が ($_SESSION を使用した) あなたの解決策になります。それ以外の場合は、可能であれば、ここで検証を行うのが合理的で簡単です。$_POST を値フィールドにエコーするだけで十分です (短いコードが必要な場合は、そこに三項演算は必要ありません)。

<form method="POST" action="thisPhpFile.php" >

value ="'. @$_POST['voornaam'] .'"

検証部分 (フォームをエコーする前) では、当然、すべてのエラー、必須フィールドなどをチェックする必要があります。すべてが有効な場合は、ユーザーに目的の場所を指定するだけです。これらの行に沿ったもの:

if(isset($_POST['mySubmit'] {
    //check errors/validate
    if($valid == true) {
    Header("Location: yourLocation.php");
    }
}
else {
    //echo your form here
}
于 2012-12-26T17:01:42.960 に答える