我希望在验证后防止字段重置。我搜索了一些主题,但我无法在我的代码中实现它。
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 />
如果你能给我一个如何在一个领域实现这个的例子。
非常感谢
答案 0 :(得分: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']; } ?>">
}
答案 1 :(得分: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
}