我创建了一个简单的PHP登录脚本,并在上传服务器之前在firefox中进行了测试,但令我惊讶的是每次都失败了。
//index . php
<form name="form1" method="post" action="checklogin.php">
username<input name="myusername" type="text" id="myusername">
password<input name="mypassword" type="password" id="mypassword">
<input type="submit" name="Submit" value="Login">
</form>
//checklogin.php
<?php
// username and password sent from form
$myusername=$_POST['myusername'];
$mypassword=$_POST['mypassword'];
if($myusername==='stackoverflow')
{
if($mypassword==='stackoverflow')
{
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
}
}
else echo ("<h2>wrong username or password</h2><br><a href='index.php'>click here to try again</a>");
?>
当我把index.php脚本放入firefox4并输入用户名和密码时,它总是显示wrong username or password
。我认为这个剧本是基本的,但它仍然逃避我。请帮助。
您正在使用:
===
TRUE如果$a等于$b,并且它们是相同的类型。(在PHP 4中引入)
尝试使用:
==
$a == $b = TRUE,如果$a在类型杂耍后等于$b
将var_dump($_POST)添加到脚本中,并将结果与预期值进行比较
一定要打电话:
session_start();
在你的脚本的顶部,可能也有帮助。
但是正如@Bobby所说,只有当你的用户名和密码正确时,你才会被重定向。在本例中,还没有用户名和密码
确保输入的是header("location:login_success.php");
而非
header("location:checklogin.php");