2011-07-08 266 views
0

正在创建一个简单的php登录脚本,并在上传服务器之前在firefox中进行测试,但对我的惊喜,它每次都失败。
//index.php基本的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脚本到Firefox 4和类型的用户名和密码它总是显示wrong username or password 。我认为这个剧本是基本的,但它仍然没有我。请帮忙。

+2

您知道如果输入了错误的用户名,您的脚本将只输出内容,但如果它是正确的用户名和密码错误,它将打印一个空白页? – Bobby

+0

它在我的浏览器中工作!尝试删除cookies – Nitish

+1

嘿丹尼斯,你究竟把“drop index.php”文件放到Firefox中意味着什么?您需要将其上传到本地开发服务器,并在Firefox中将其作为URL打开。只是想确认你是否正在这样做。 – Keshav

回答

0

附加的var_dump($ _ POST)到你的脚本,并与预期值

0

比较结果确保您拨打:

session_start(); 

在脚本的顶部,也可能会有帮助。

但是@Bobby说,如果您的用户名和密码正确,您将只能被重定向。在这种情况下,还没有用户名和密码。

1

您正在使用:

=== 

TRUE,如果$ a等于$ b,并且它们是同一类型的。 (PHP 4引进)

尝试使用:

== 

$一个== $ B以下TRUE,如果$ a等于$ b型杂耍之后。

看看是否有所作为。

0

确保您已在编辑器中键入header("location:login_success.php");

,而不是

header("location:checklogin.php");