如何在验证后从提交表单PHP中获取$ _Post数据

时间:2015-12-04 02:49:59

标签: php forms post

我刚从这个网站上看到了这些代码,并考虑将其实施到我的项目中,但是我无法在下一页上获取我的数据。我使用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>

submit.php

<?php
$test=$_POST['lastName'];
echo $test;

&GT;

1 个答案:

答案 0 :(得分:0)

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

将此<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']);?>" method="post">更改为<form action="submit.php" method="post">