我相信这段代码有效。但它不会回应确认或错误。
<?php
require 'config.php';
if($_SERVER["REQUEST_METHOD"] == "POST"){
$servername="localhost";
$username="root";
$conn= mysql_connect($servername,$username)or die(mysql_error());
mysql_select_db("web", $conn);
$mypassword=$_POST['pwd'];
$fname=$_POST['fname'];
$lname=$_POST['lname'];
$address=$_POST['address'];
$location=$_POST['location'];
$sqlsel="SELECT * FROM users WHERE username='$id' AND pwd='$mypassword' ";
$result=mysql_query($sqlsel,$conn) or die(mysql_error());
$count=mysql_num_rows($result);
if($count==1){
$sql="UPDATE users " .
"SET fname = '$fname',
lname = '$lname',
address = '$address',
location = '$location'" .
"WHERE pwd = '$mypassword'";
$res = mysql_query( $sql, $conn );
//IS THIS CORRECT TO REFRESH THE PAGE???
header("Location: edit.php?id=" . $id);
//IT WON'T ECHO....
echo 'Information updated.';
}
else {
//ALSO THIS ONE...
echo print "Invalid Password.";
}
mysql_close($conn);
}
?>
它似乎适用于我的其他表单,但它不适用于此编辑表单。
我该如何解决这个问题?
答案 0 :(得分:2)
标题位置后,任何内容都无效。 你能做的是
header("Location: edit.php?id=" . $id . "&msg=1");
然后在edit.php上 只需获得$ _GET [“msg”],如
if isset($_GET["msg"])
echo 'Information updated.';
答案 1 :(得分:1)
在浏览器开始重定向并且没有回显之后,您已发送重定向标头。删除标题调用。
评论这部分
//header("Location: edit.php?id=" . $id);
另外
echo print "Invalid Password.";
应该是
echo "Invalid Password.";
答案 2 :(得分:0)
当声明标题位置时,它将仅在第一个php / html声明
时重定向页面任何不能工作或展示后的内容