データベースに2人のユーザーがいます。ログインしようとするとインデックスページに残ります。データベースに1人のユーザーがいる場合、正常にログインできますが、2人のユーザーがインデックスページにリダイレクトします。問題は何ですか?PHPログインスクリプトが動作しない
<?php
include("connect.php");
$username = $_POST["username"];
$password = $_POST["password"];
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
echo $username;
echo $password;
if (empty($_POST['username']) || empty($_POST['password']))
{
//$_SESSION["login_error"] = "1";
echo 'error code 1';
header ('Location: ../index.php');
}
//$password = sha1($password);
$sql = "SELECT * FROM users";
$result = mysql_query($sql);
if (!$result) die('Invalid query: ' . mysql_error());
$userid = "";
while ($row3 = mysql_fetch_array($result, MYSQL_ASSOC))
{
if(($username == $row3["username"]) && ($password == $row3["password"]))
{
$userid = $row3["id"];
$_SESSION["userid"] = $userid;
//$online = mysql_query("UPDATE numbers SET online='1' WHERE id='".$userid."'")
//or die(mysql_error());
//$type = mysql_query("UPDATE numbers SET type='facetime' WHERE id='".$userid."'")
//or die(mysql_error());
echo $userid;
echo 'error code 2';
header ('Location: ../control_panel.php');
}
else
{
$userid = "";
$_SESSION["userid"] = "";
header ('Location: ../index.php');
echo 'error code 3';
}
//debug
//echo $password;
//$useridvar = $_SESSION["userid"];
//echo $useridvar;
}
if ($_SESSION["userid"]=="")
{
header ('Location: ../index.php');
echo 'error code 4';
}
//else
//{
// $userid = "";
// $_SESSION["userid"]= "";
// header ('Location: ../login.php');
//}
?>
それをより良くする方法に関する提案は – mintuz
私のポストを編集し、上記のコードを試してください。 – technology
よろしくお願い致します.D – mintuz