我有3个文件。
第一名:
<html>
<form action="employeeDel.php" method ="post">
Enter Ssn To Delete Employee:<br>
<input type="number" name="ssnDel">
<br>
<br>
<input type="submit" value="Submit">
</form>
</html>
此表单将数据发送到employeeDel.php。
employeeDel.php:
<html>
<form action ="employeeDelFinal.php" method="post">
<input type="hidden" name="ssn" value="ssnDel">
<?php
$ssnDel = $_POST ["ssnDel"];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "company";
$conn = mysqli_connect ( $servername, $username, $password, $dbname );
// Check connection
if (! $conn) {
die ( "Connection failed: " . mysqli_connect_error () );
}
$sql = "SELECT * from employee WHERE ssn=".$ssnDel;
<input type="submit" name="Delete?">
</form>
</html>
从这里,当用户点击提交按钮时,我希望html表单将ssnDel
值发送到employeeDelFinal.php文件。
employeeDelFinal.php:
<?php
$ssnDel = $_POST ["ssn"];
echo ssnDel;
?>
这个价值永远不会到达这里。我在employeeDel.php文件中出错,它说ssnDel的值为null。我想在employeeDel文件的表单开头,我再次创建ssnDel,所以它变为null。 有没有办法通过使用表单将数据从html表单发送到employeeDel.php,从employeeDel.php发送到employeeDelFinal.php?我试过隐藏的文字,但它没有解决我看到的问题。
答案 0 :(得分:1)
我注意到了几件事。
employeeDelFinal.php :
<?php
$ssnDel = $_POST ["ssn"];
echo ssnDel;
?>
你的echo语句ssnDel中没有美元符号。
为什么$_POST ["ssnDel"]
之间有空格使其成为
$_POST["ssnDel"]
答案 1 :(得分:1)
该行
<input type="hidden" name="ssn" value="ssnDel">
应该是
<input type="hidden" name="ssn" value="<?php echo(intval($_POST['ssnDel'])); ?>">
(假设ssnDel是一个ID号。)
否则隐藏变量将具有字符串值ssnDel
,而不是变量$_POST['ssnDel']
的值
如前所述,echo ssnDel;
应为echo $ssnDel;
,您应该使用更少的空格(例如$ _POST或函数名后没有空格)。