我正在设置一个表单,用户必须在几个字段中输入文本才能加载到数据库中,然后点击提交。在用户点击提交以输入所有必要的数据后,将对表单进行验证。我想在子节点之后保持文本字段中的数据可见,但到目前为止我还没能做到这一点。我尝试使用value="来保留数据,但代码显示在文本字段中,而不是空白。
<!DOCTYPE HTML>
<html lang = "en">
<head>
<link rel="stylesheet" type="text/css" href="mystylesheet.css">
<title>Tech Order Department.html</title>
<meta charset = "UTF-8" />
</head>
<body>
<h2>New Projects</h2>
<?php
if(isset($_POST['formSubmit']) && $_POST['formSubmit'] == "Submit") {
$varProject = $_POST['Project'];
$varClient = $_POST['Client'];
$varLastName = $_POST['LastName'];
$varDateReceived = $_POST['DateReceived'];
}
?>
<form action="Form.php" method="post" value="<?php echo htmlspecialchars ($_GET['lastname']); ?>" >
Project:<br>
<input type="text" name="Project"><br>
Client:<br>
<input type="text" name="Client">
<br>
Last Name:<br>
<input type="text" name="LastName">
<br>
Date Received:<br>
<input type="text" name="DateReceived">
<br><br>
<input type="submit" name="formSubmit" value="Submit">
</form>
<?php
if(isset($_POST['formSubmit']) && $_POST['formSubmit'] == "Submit") {
$errorMessage = "";
if (empty($_POST['Project'])) {
$errorMessage .= "<li>You forgot to enter a project name!</li>";
}
if (empty($_POST['Client'])) {
$errorMessage .= "<li>You forgot to enter a client name!</li>";
}
if (empty($_POST['LastName'])) {
$errorMessage .= "<li>You forgot to enter the tech writer name! </li>";
}
if (empty($_POST['DateReceived'])) {
$errorMessage .= "<li>You forgot to enter the date received! </li>";
}
$varProject = $_POST['Project'];
$varclient = $_POST['Client'];
$varLastName = $_POST['LastName'];
$varDateReceived = $_POST['DateReceived'];
if (!empty($errorMessage)) {
echo("<p>There was an error with your form:</p>'n");
echo("<ul>" . $errorMessage . "</ul>'n");
}
}
?>
</body>
</html>
只需在输入元素的value属性中回显提交的值。
您的代码如下所示:
$varProject = "";
$varClient = "";
$varLastName = "";
$varDateReceived = "";
if(isset($_POST['formSubmit']) && $_POST['formSubmit'] == "Submit") {
$varProject = $_POST['Project'];
$varClient = $_POST['Client'];
$varLastName = $_POST['LastName'];
$varDateReceived = $_POST['DateReceived'];
}
在HTML中,它应该是:
<input type="text" name="Project" value="<?php echo $varProject?>"><br>
在文本字段上使用value=",而不是表单。
<input value="<?php echo (isset($_REQUEST['Project']) ? $_REQUEST['Project']:''); ?>" name="Project" type="text" />