2016-11-24 22 views
0

少しの文脈では、登録部分は正常に機能しますが、今はログインシステムを追加したいと思います。私はユーザー名が存在するが、これは動作していないかどうかを調べるためにテストしたい。可能な愚かなエラー! IF文が実行されていませんか?

誰でもここにエラーを見つけられますか?

here以上のサーバーで気軽にチェックしてください。これはWIPなので、まだたくさんのことがあります。 ユーザー名 "Lewis"は、現在テスト目的でデータベースに入力されています。 フォームがいっぱいになった後など、echo文は実行されません。実際、最初の 'IF'文のすぐ下にエコーが置かれても、まだ印刷されません問題? IFを次のように変更してみました。

if($_SERVER['REQUEST_METHOD'] == 'POST'){ 

まだ運がありません。

PHP:

//error_reporting(E_ALL); 
//ini_set('display_errors', TRUE); 

require 'vdb_includes/db.php'; 
require 'functions.php'; 


if(!empty($_POST['username']) && !empty($_POST['pw'])){ 

    $verifyUsername = $_POST['username']; 
    $verifyPassword = $_POST['pw']; 

    $usernameCheck = mysqli_query($con, "SELECT * FROM users WHERE username='".$verifyUsername."'"); 
    if($usernameCheck->num_rows){ 
     echo "Username exists"; 
    } else { 
     echo "Non existant"; 
    } 
} 

HTML:

<form id="login_form" action="http://valhq.com/login" method="POST"> 
      <div class="login_form_content"> 
       <div class="login_form_input"> 
        <input type="text" class="login_input_style" placeholder="Username" id="username" name="username" maxlength="20"> 
       </div> 
       <div class="login_form_input"> 
         <input type="password" class="login_input_style" placeholder="Password" id="pw" name="pw" maxlength="56"> 
       </div> 
       <input type="submit" id="submit" name="submit" class="login_submit" value="Login"> 
       <div class="login_notMember"> 
        <a href="http://valhq.com/register">Don't have an account? Sign up.</a> 
       </div> 
      </div> 
</form> 
+0

あなたはこのコードでSQLインジェクションを開いています。 – chris85

+0

私はこれを、事前に準備されたステートメントに変更することで修正する予定だと認識しています。しかし、あなたはその質問を助けることができますか? – Lewis

+0

また、preg_matchで空白とシンボルを無効にすると、SQLインジェクションが停止しますか? – Lewis

答えて

1

あなたはそれが欠けているとき、あなたのURLの末尾にスラッシュを追加するために301リダイレクトを持っています。フォームアクションの最後にスラッシュがありません。そのため、フォームポストはスラッシュ付きのURLにリダイレクトされます。解決策:フォームアクションの最後にスラッシュを追加すると、それが機能します。

+0

ありがとう!今すぐ完璧に動作します! – Lewis

関連する問題