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


私は、Firefox 4とタイプのユーザ名とパスワードにはindex.phpスクリプトをドロップすると、それは常にwrong username or passwordを示し。私はこのスクリプトが基本的だと思ったが、それでも私は逃げた。助けてください。

+2

間違ったユーザー名が入力された場合、スクリプトは何かを出力しますが、パスワードが間違っている正しいユーザー名であれば、空白のページが印刷されることにご注意ください。 – Bobby

+0

私のブラウザで動作しています!クッキーを削除してみてください – Nitish

+1

Hey Denis、「index.php」ファイルをfirefoxにドロップするとどういう意味ですか?ローカルの開発サーバーにアップロードし、FirefoxのURLとして開く必要があります。あなたがそれをしているかどうかを確認したいだけです。 – Keshav

答えて

0

スクリプトに($ _ POSTを)のvar_dumpを追加して、期待値

0

で結果を比較するには、あなたが呼び出していることを確認してください:あなたのスクリプトの先頭に

session_start(); 

をも助けるかもしれません。

@Bobbyによると、ユーザー名とパスワードが正しい場合にのみリダイレクトされます。この場合、ユーザー名とパスワードはまだありません。

1

あなたが使用している:$ aが$ bに等しく、彼らは同じ型である場合

=== 

TRUE。 TRUE等しい

== 

$ ==の$ bを$ Aはタイプジャグリング後B $に等しい場合:

使用してみてください(PHP 4で導入)。

これが異なるかどうかを確認してください。

0

はあなたのエディタでheader("location:login_success.php");

なく

header("location:checklogin.php");

を入力したことを確認してください!