我正在将一些非常旧的代码升级到PHP 5.6 - 我无法使登录表单生效。
我已经编辑了尽可能多的多余代码以保持简单,但基本上现在的形式看起来像这样:
<? if (isset($_POST["state"])){ //1 ?>
<form name="psinput" method="post" action="login.php">
<input type="text" name="pseudo">
<input type="password" name="password">
<input type="password" name="password2">
<input type="hidden" name="state" value="1">
<input type="image" name="imageField" src="../images/join_button.gif">
<? }
elseif ($state == 1) {
if ($password != $password2){
$errormess = "Your passwords do not match";
}
else if (strlen($pseudo) == 0){
$errormess = "Please enter a pseudonym";
}
else if ($pseudo == $password){
$errormess = "Your pseudonym cannot be the same as your password";
}
else if (strlen($password) == 0){
$errormess = "Please enter a pseudonym password";
}
}
然后会发生一些事情(插入数据库等),如果一切顺利,它会吐出文本:
print "Your pseudonym and password have been created<br><br>";
然而,当我点击表单上的提交按钮时,它只会将空表单再次返回给我。我认为问题与处理状态变量的方式有关。我真诚地希望我已经为这个问题提供了足够的数据。