2011-08-14 22 views
-1

ユーザーを処理してユーザーのホームページにリダイレクトするこのコードがあります。構文解析エラー:予期しない '{'

<?php 
    $username = $_POST['username']; 
    $password = $_POST['pwd']; 

    $file = file_get_contents("userdb.html"); 
    if(!strpos($file, $username)) { 
     echo "Your username was not found in our database. Please go back and try again."; 
    } else { 
     echo "Redirecting..."; 
     if (md5($password) == !strpos($file, (md5($password))) { 
      echo "Redirecting..." 
      header ('Location: ./userhome.php') 
     } else { 
      print "Whoops! Your password seems to be incorrect. Go back and try again." 
     } 
    } 
?> 

そして、私はエラーを取得する:

Parse error: syntax error, unexpected '{' in userprocess.php on line 11 

は、誰かが私にこの問題をしてください教えてもらえますか?私はそれがif文の中にあるかもしれないと思いますが、代わりに何をすることができますか?ありがとう。

if (md5($password) == !strpos($file, md5($password))) 
+1

良いIDEを使用しようとすると、構文エラーが表示されます。 NetBeansまたはPhpStorm。 –

+2

すぐに戻って、リダイレクトがうまくいかなかった理由を尋ねますか? –

+0

本当にユーザー名とパスワードをhtmlファイルに保存していますか?あなたがハッシュと塩を入れても、あなたはまだそれを手渡すべきではありません。 – Marcel

答えて

4

はまず、このラインは閉じ括弧が欠落しています。

if (md5($password) == !strpos($file, (md5($password))) { 

()の数を数えます - 一致する必要があります。

これを修正すると、PHP文がセミコロンで終わる必要があるため、エラーが発生します。

次の行のすべては、彼らのセミコロンが欠落しています

echo "Redirecting..." 
header ('Location: ./userhome.php') 
print "Whoops! Your password seems to be incorrect. Go back and try again." 

あなたは構文エラーなしでプログラムを実行することができます前に、それらをすべて修正する必要があります。

希望に役立ちます。

+0

私はこれを投稿した直後にセミコロン(私にとっては真剣にばかげた問題)を認識しましたが、ifステートメントの修正に感謝します。それは明確な答えからよく考えられていた。ありがとうございました。 – snarkyt123

+0

また、 'header'と' print'の後ろにある 'echo'の後に無視するのはあまりにも明白です... –

+0

@Linus - 確かに、私は既にセミコロンを指摘することによって元の質問の範囲外に迷い込んでいました。 :) – Spudley

1

変更

if (md5($password) == !strpos($file, (md5($password))) 

あなたはラインで右括弧が欠落しています

if (md5($password) == !strpos($file, (md5($password))) { 
1
<?php 
    $username = $_POST['username']; 
    $password = $_POST['pwd']; 

    $file = file_get_contents("userdb.html"); 
    if(!strpos($file, $username)) { 
     echo "Your username was not found in our database. Please go back and try again."; 
    } else { 
     echo "Redirecting..."; 
     if (md5($password) == !strpos($file, md5($password))) { 
      echo "Redirecting..."; 
      header ('Location: ./userhome.php'); 
     } else { 
      print "Whoops! Your password seems to be incorrect. Go back and try again."; 
     } 
    } 
?> 
関連する問題