如何在验证后从提交表单PHP发布数据

如何在验证后从提交表单PHP发布数据,php,forms,post,Php,Forms,Post,我刚刚从这个网站上看到了这些代码,并打算将其应用到我的项目中,但是我无法在下一页获得我的数据。我使用test.php作为索引,submit.php作为一个页面来捕获文章 这是密码 test.php <!DOCTYPE HTML> <html> <head> <style> .error {color: #FF0000;} </style> </head> <body> <?php // Initializ

我刚刚从这个网站上看到了这些代码,并打算将其应用到我的项目中,但是我无法在下一页获得我的数据。我使用test.php作为索引,submit.php作为一个页面来捕获文章

这是密码

test.php

<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>

<?php
// Initialize variables and set to empty strings
$firstName=$lastName="";
$firstNameErr=$lastNameErr="";

// Validate input and sanitize
if ($_SERVER['REQUEST_METHOD']== "POST") {
   $valid = true; //Your indicator for your condition, actually it depends on what you need. I am just used to this method.

   if (empty($_POST["firstName"])) {
      $firstNameErr = "First name is required";
      $valid = false; //false
   }
   else {
      $firstName = test_input($_POST["firstName"]);
   }
   if (empty($_POST["lastName"])) {
      $lastNameErr = "Last name is required";
      $valid = false;
   }
   else {
      $lastName = test_input($_POST["lastName"]);
   }

  //if valid then redirect
  if($valid){
   header('Location: submit.php');
   exit();
  }
}

// Sanitize data
function test_input($data) {
   $data = trim($data);
   $data = stripslashes($data);
   $data = htmlspecialchars($data);
   return $data;
}
?>

<h2>Find Customer</h2>
<p><span class="error">* required</span></p>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">
First Name: <input type="text" name="firstName" value="<?php echo $firstName; ?>"><span class="error">* <?php echo $firstNameErr; ?></span><br><br>
Last Name: <input type="text" name="lastName" value="<?php echo $lastName; ?>"><span class="error">* <?php echo $lastNameErr; ?><br><br>
<input type="submit">
</form>

</body>
</html>

.错误{color:#FF0000;}
寻找客户
*必需的


您的表单操作应该是要获取表单提交值的文件


将您发布到
test.php
更改为
submit.php
。如果我这样做,我将无法在将表单发送到submit.php之前验证表单。请在一页中完成验证并提交,提交后验证表单,如果有任何错误,请返回并显示它。或者您需要在此处再次将所有内容发送到submit.php:-if($valid){header('Location:submit.php');exit();}如果您永远不会将其发送到submit.php,它将如何获得它?
<?php
$test=$_POST['lastName'];
echo $test;