PHP / MySql プログラミングは初めてです。言語の学習に役立つ本を購入しましたが、認証システムを作成しようとしたときを除いて、これまでのところうまくいきました。
MD5 暗号化を使用してレコードをデータベースと照合し、見つかった場合は Web サイトに送信できるようにしたいと考えています。ユーザー名とパスワードが正しくない場合は、再度ログイン ページに送信します。
ある時点では、最初のレコードにのみ一致します。今はどれも一致しません。データベースの内容を正確に入力しても、結果は 0 になるか、ログイン ページに戻ります。
また、ユーザー名と auth_level のセッション変数を設定して、Web サイト/アプリケーション全体で呼び出すことができるようにしたいと考えています。
それが役立つ場合、私はMacでXAMPPを使用しています。
認証スクリプト:
if ((!isset($_POST['username'])) || (!isset($_POST['password']))) {
header('Location: login.html');
exit;
}
$mysqli = mysqli_connect('localhost', 'username', 'password', 'testDB')
or die(mysql_error($mysqli));
$username = mysqli_real_escape_string($mysqli, $_POST['username']);
$password = mysqli_real_escape_string($mysqli, $_POST['password']);
$auth_sql ="SELECT username , auth_level FROM auth_users WHERE
username ='".$username."' AND password =MD5('".$password."')";
$auth_sql_res = mysqli_query($mysqli, $auth_sql) or die(mysqli_error($mysqli));
if (mysqli_num_rows($auth_sql_res) == 1) {
$_SESSION['username'] = $username;
header('Location: homebeta.php');
} else {
header("Location:index.php");
exit;
}
PHP v5.3.1
調査、分析、および/または支援に時間を割いてくださった皆様に感謝します。お時間をいただき、誠にありがとうございます。