この PHP ログイン スクリプトが機能しない理由がわかりません。ログインしようとすると、常に「Ongeldig wachtwoord/gebruikersnaam!」が返されます。
これはスクリプトです:
session_start();
include('connect.php');
// functie voor random key
function make_rand($length) {
$chars = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ1234567890";
$rand = '';
for ($i = 1; $i <= $length; $i++) {
$num = rand(0, strlen($chars));
$rand .= substr($chars, $num, 1);
}
return $rand;
}
この関数は、session_id として使用するランダム キーを作成します。
// kijk of formulier is verzonden
if ($_SERVER['REQUEST_METHOD'] == "POST") { // indien verzonden
$query= mysql_query("SELECT * FROM customers WHERE name = '" .$_POST['inlognaam'] . "'");
サーバーはユーザー名が存在するかどうかを確認します..
if (mysql_num_rows($query) > 0) { // als er een gebruiker is gevonden
$user = mysql_fetch_object($query);
if ($user->password == isset($_POST['password'])) {
$_SESSION['user_id'] = $user->name;
$rand_key = make_rand(50); // maak een random string voor sessie session_id mbv van functie
$_SESSION['session_id'] = $rand_key;
// zet de sessie id in de db zodat we hem later kunnen controleren
mysql_query("UPDATE customers SET session_id = '" . $rand_key . "' WHERE name = '" . $_SESSION['inlognaam'] . "'");
$_SESSION['user_ip'] = $_SERVER['REMOTE_ADRESS'];
echo 'Inloggen is gelukt!';
}
ユーザーが存在する場合、サーバーは session_id を作成し、ユーザーの IP アドレスを user_ip に保存し、ユーザー名 (user_id) も保存します。
else { // ongeldig wachtwoord
echo 'Ongeldig wachtwoord/gebruikersnaam!';
}
} else { // ongeldige gebruikersnaam
echo 'Ongeldig wachtwoord/gebruikersnaam!';
}
}
ユーザーが存在しない場合は、次のメッセージが表示されます: Ongeldig gebruikersnaam/wachtwoord" (無効なユーザー名/パスワード)。
else {
echo '<table id="loginbox">';
echo '<tr><td><b>Login:</b></td></tr>';
echo '<form action="test.php" method=\"post\">';
echo '<tr><td>Gebruikersnaam:</td></tr><tr><td> <input style="width:120;" name="inlognaam" type="text" id="inlognaam"> </td></tr>';
echo '<tr><td>Wachtwoord:</td></tr><tr><td> <input type="password" style="width:120;" name="password id="password"> </td></tr>';
echo '<tr><td><input type="submit" name="Submit" value="Login"></td></tr>';
echo '</table>';
}
ログインフォームです。
編集: PHP スクリプトを使用していないことに気付きました。入力内容を URL に書き込むだけです。
元。:
localhost/School/test.php?inlognaam=Thomas&password=british9&Submit=Login