Php 这段代码有什么错误?。它总是在其他代码中出现

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

为什么这个代码不起作用

它总是进入else并将$_SESSION['errollogin']=1; 它是一个登录脚本,接收电子邮件id和密码的输入,然后检查是否存在任何此类内容,然后启动$\u会话['loggedin'],否则$\u会话['errollogin']。 我已经尝试了很多,但我就是不明白

$_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)
替换你的代码,因为它基本上就是这样做的。对不起,先生,事实上,我一直提到我只使用它来运行它。对不起,我意识到你还没有初始化你的会话。