以下是我登录的代码:
<?php
session_start();
include("conn.php");
$qry=mysql_query("Select * from tblru");
$qry2=mysql_query("Select * from tbladmin");
$credentials=mysql_fetch_array($qry);
if(isset($_POST['login'])){
if($_POST['user']==$credentials["user"]){
if($_POST['pass']==$credentials["pass"]){
$_SESSION['user']=1;
header("location:login.php");
exit();
}
else{
echo "<div style='position:absolute; right:230px; top:220px;'><b>WRONG PASSWORD<br>Re Input PASSWORD</b></div>";
}
}
else{
echo "<div style='position:absolute; right:230px; top:220px;'><b>WRONG USERNAME<br>Re Input Username</b></div>";
}
}
?>
我需要这个登录代码的帮助。我创建了几个用户,但我的登录只读取了第一个注册的用户。你能帮助我使用我的代码来登录其他帐户吗?
答案 0 :(得分:0)
解决问题的最简单方法是将查询更改为以下内容:
$login = false;
if(!isset($_POST['user']) || !isset($_POST['pass'])) {
// Something was missing
}
else {
$query = "SELECT * FROM tblru WHERE user='" . mysql_real_escape_string($_POST['user']) . "'"
. " AND pass='" . mysql_real_escape_string($_POST['pass']) . "' LIMIT 1";
$result = mysql_query($query);
$credentials = mysql_fetch_array($result);
if($credentials !== false) {
$login = true;
}
}
从此处$credentials
将成为您的验证用户或FALSE
。
但是,现在已经说过,请注意mysql_*
系列函数已弃用,将在未来的PHP版本中删除。请访问this link查看替代方案。
此外,我注意到您没有哈希密码。这是一个坏主意;将密码以明文形式存储在服务器中使其成为一个诱人的目标。您可以阅读更多相关信息here。