user.php というファイルに次の関数があります。
function user_id_from_username($username) {
$username = sanitize($username);
return mysql_result(mysql_query("SELECT `MemberID` FROM `member` WHERE `Email` = '$username'"),0, 'MemberID');
}
function login ($username, $password) {
$MemberID = user_id_from_username ($username);
$username = sanitize($username);
$password = md5($password);
return (mysql_result(mysql_query("SELECT COUNT(`MemberID`) FROM `member` WHERE `Email` = '$username' AND `Password` ='$password'"), 0) == 1) ? $MemberID : false; }
そして私のlogin.phpには次のものがあります:
Session_start ();
include 'core/functions/users.php'
if (empty($_POST) === false){
$username = $_POST['Email'];
$password = $_POST['Password'];
$login = login($username, $password);
if($login === 1){
$_SESSION['MemberID'] = $login; //logged in and returned user ID and store in session
header('location: member.php?username='.$username);
}else{
// try admin login
$query2 = mysql_query("SELECT * FROM admin WHERE Email ='$username' AND Password ='$password'");
if(mysql_num_rows($query2) == 1){
$_SESSION['Email'] = $username;
header("location: admin.php");
}
else{
echo "Failed Login Attempt";
}
}
}
ユーザーをログインしようとすると、次のエラーが発生します。
警告: mysql_result(): 27 行目のoddjobexchange\core\functions\user.php の MySQL 結果インデックス 8 の行 0 にジャンプできません ログイン試行に失敗しました
27行目(下記)に問題が見られないため、このエラーを回避できません
return mysql_result(mysql_query("SELECT `MemberID` FROM `member` WHERE `Email` = '$username'"),0, 'MemberID');
私のデータベースでは、'MemberID' は行 0、'Email' は行 7、'Password' は行 8 です。