2011-07-08 211 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");