わかりましたので、スタッフ パネルを mysql から pdo に再コーディングしようとしていますが、pdo では 2 とステートメントを使用できないようです。
これは私がこれまでに持っているものです
これが私の基本的なhtmlフォームです
<form name="input" action="" method="post">
<p>Username:</p>
<p>
<input type="text" name="username" id ="username">
</p>
<p>Password: </p>
<p>
<input type="password" name="password" id = "password">
</p>
<p>
<input type="submit" value="Submit" name = "Submit">
</p>
</form>
そして、送信ボタンに設定されている場合を実行します
if (isset($_POST["Submit"])) {
$username= mysql_real_escape_string($_POST['username']);
$username2 = strip_tags($username);
$password= mysql_real_escape_string($_POST['password']);
$password2 = strip_tags($password);
$md5password = md5($password2);
$mod = 1 ;
$statement = $db->prepare("SELECT * FROM users WHERE username = ? AND password = ? AND mod = ?");
$statement->execute(array($username2,$md5password,$mod));
$count = $statement->rowCount();
/// If username and password is correct then we carry on
if ($count == "1")
{
$_SESSION['username'] = $username2 ;
//Test if it is a shared client
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
//Is it a proxy address
}elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$ip=$_SERVER['REMOTE_ADDR'];
}
$result5534453465 = mysql_query("UPDATE users SET lastip='".$ip."' WHERE username='".$_SESSION['username']."'")
or die(mysql_error());
mysql_query("INSERT INTO user_log (username, ip)
VALUES ('".$_SESSION['username']."', '".$ip."')");
echo '<META HTTP-EQUIV="Refresh" Content="0; URL=home.php">';
exit;
}else{
echo "Password or username is wrong";
}
}
2 番目の AND を取り出すと問題なく動作しますが、もちろんスタッフだけがログインできるようにする必要があります。2番目を削除すると、すべて正常に機能しますが、2番目が必要であり、スタッフのみがログインできると言いましたか。私は何を間違っていますか??