2016-04-14 13 views
2

私はこのコードを試しましたが、動作していないようですので、誰かがエラーで私を助けることができたらうれしいです。ユーザ名とパスワードのバリデーションPHP MySql

私のデータベースルートは 'localhost'、データベース名は 'ee2800'パスワードは 'secret'です。私はUserNameとPasswordの検証に必要です。

以下は動作していないようです。

<?php 
 
    $conn = new mysqli("localhost", "ee2800", "secret", "ee2800"); 
 

 
    if (mysqli_connect_errno()) { 
 
     echo "Connection Failed. Try again." . mysqli_connect_error(); 
 
     exit(); 
 
    } /* else { 
 
     echo "Connection Successful <br/> "; 
 
     } */ 
 

 
    // Connect to database server 
 
    mysql_connect("localhost", "ee2800", "secret") or die(mysql_error()); 
 

 
    $UserName = mysql_real_escape_string($_POST['UserName']); 
 
    $Password = mysql_real_escape_string($_POST['Password']); 
 

 
    $sql = "SELECT * FROM users WHERE UserName = '$UserName' AND Password = '$Password' "; 
 
    $result = mysql_query($sql) or die(mysql_error()); 
 
    $numrows = mysql_num_rows($result); 
 
    if ($numrows > 1) { 
 
    else if ($numrows = 0) { 
 
     echo "wrong username or password" 
 
    } else { 
 
     echo "welcome" 
 
    } 
 

 
    // Close the database connection 
 
    mysql_close(); 
 
    ?>

セキュリティの愛のためにあなたに

+2

**注:**あなたは 'mysqli_の*'と 'mysql_ *'関数を混合しています。 –

+0

'if($ numrows> 1)'ブロックでセミコロンを忘れてしまったのでしょうか? –

+0

ところで、 '$ conn = new mysqli(" localhost "、" ee2800 "、" secret "、" ee2800 "); .... エコー"接続成功
"; } */'はこのコードではまったく役に立たない。 –

答えて

1

ありがとう、プレーンテキスト形式でパスワードを保存しないでください。ユーザーのパスワード漏洩をさらに防ぐために、ユーザー入力と最初に保管された値に同じ暗号化方法を使用してください。このコードはうまくいけば少しうまくいくはずです。 ?

<?php 

$dbLink = mysqli_connect("localhost", "ee2800", "secret", "ee2800"); 
if (!$dbLink) { 
    echo "Connection Failed. Try again." . mysqli_connect_error(); 
    exit(); 
} else { 
    echo "Connection Successful <br />"; 
} 

$UserName = mysqli_real_escape_string($_POST['UserName']); 
$Password = mysqli_real_escape_string($_POST['Password']); //NOTE FOR THE FUTURE - PLEASE ADD ENCRYPTION TO THIS 

$sql = "SELECT * FROM users WHERE UserName = '$UserName' AND Password = '$Password' "; 
$result = mysqli_query($dbLink, $sql) or die(mysqli_error()); 
$numrows = mysqli_num_rows($result, MYSQLI_ASSOC); 

if ($numrows == 0) { 
    echo "wrong username or password"; 
} else { 
    echo "welcome"; 
} 

// Close the database connection 
mysqli_close(); 

>

+0

こんにちは、どうもありがとうございました...何らかの理由で、まだ動作していません。あなたのプロジェクトをメールで送信する方法はありますか?私は本当にそれを感謝します、私は本当になぜそれが動作していないのか分かりません – NTal

+0

私はまた、JSONログインの失敗を応答にエコーし、JSONログインの成功をエコーする必要があります含める必要があります.. – NTal

+0

申し訳ありません、私は本当に行くことができません全体の他の人のプロジェクト。ただし、詳細なデバッグを有効にするには、次の行を上部に追加します。 ini_set( "display_errors"、1); error_reporting(E_ALL); – RefreshCarts

関連する問題