Php 这段代码有什么错误?。它总是在其他代码中出现
为什么这个代码不起作用 它总是进入else并将$_SESSION['errollogin']=1; 它是一个登录脚本,接收电子邮件id和密码的输入,然后检查是否存在任何此类内容,然后启动$\u会话['loggedin'],否则$\u会话['errollogin']。 我已经尝试了很多,但我就是不明白Php 这段代码有什么错误?。它总是在其他代码中出现,php,mysql,database,session,login-script,Php,Mysql,Database,Session,Login Script,为什么这个代码不起作用 它总是进入else并将$_SESSION['errollogin']=1; 它是一个登录脚本,接收电子邮件id和密码的输入,然后检查是否存在任何此类内容,然后启动$\u会话['loggedin'],否则$\u会话['errollogin']。 我已经尝试了很多,但我就是不明白 $_SESSION['login-id']=$loginid; $_SESSION['loginpassword']=$loginpassword; $loginid = stripslashe
$_SESSION['login-id']=$loginid;
$_SESSION['loginpassword']=$loginpassword;
$loginid = stripslashes($loginid);
$loginpassword = stripslashes($loginpassword);
$loginid = mysql_real_escape_string($loginid);
$loginpassword = mysql_real_escape_string($loginpassword);
$con = mysql_connect("localhost", "moodabsz_naman", "database") or die(mysql_error());
mysql_select_db("moodabsz_database",$con) or die(mysql_error());
$sql="SELECT *
FROM user
WHERE `email_id` = '$loginid'
AND `password` = '$loginpassword'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
if($count==1){
$_SESSION['loggedin']=1;
mysql_close($con);
header('location: index.php');
}
else {
$_SESSION['wronglogin']=1;
echo "Wrong Username or Password";
mysql_close($con);
header('Location: index.php');
}
你能复制这个的输出吗
<?php
$_SESSION['login-id']=$loginid;
$_SESSION['loginpassword']=$loginpassword;
$loginid = stripslashes($loginid);
$loginpassword = stripslashes($loginpassword);
$loginid = mysql_real_escape_string($loginid);
$loginpassword = mysql_real_escape_string($loginpassword);
$con = mysql_connect("localhost", "moodabsz_naman", "database") or die(mysql_error());
mysql_select_db("moodabsz_database",$con) or die(mysql_error());
$sql="SELECT *
FROM `user`
WHERE `email_id` = '$loginid'
AND `password` = '$loginpassword'";
$result=mysql_query($sql) or die(mysql_error());
$count=mysql_num_rows($result);
echo 'Debug::Count-'.$count;
if($count==1){
$_SESSION['loggedin']=1;
mysql_close($con);
// header('location: index.php');
}
else {
$_SESSION['wronglogin']=1;
echo "Wrong Username or Password";
mysql_close($con);
//header('Location: index.php');
}
上述代码不起作用,因为缺少应放在PHP代码第一行的函数
<?php
session_start();
/*
The rest of your code
*/
?>
您也不应该使用mysql.*
函数,因为它们已被弃用。使用PDO()和参数化查询。您的代码存在SQL注入漏洞。如果($count>0),请尝试{帮助?您可能有多行,它将进入else,因为您正在检查$count==1
。在查询中添加限制1
。@Bondye您的注释中的代码有严重问题,您应该删除它。@Bondye您的代码不验证电子邮件和密码,它允许所有人登录,而不需要表中的记录。我想说这是非常严重的。你也可以用if(true)
替换你的代码,因为它基本上就是这样做的。对不起,先生,事实上,我一直提到我只使用它来运行它。对不起,我意识到你还没有初始化你的会话。