以下是我的用户登录页面的代码,但是当我尝试提交表单时,它不检查数据库并直接给我else
输出,即无效的ID或密码我没有得到任何错误报告虽然错误报告已打开,但我不确定我在哪里出错。
<?php
if(isset($_POST['loginsubmit'])=='Login')
{
$email=$_POST['emaillogin'];
$pass=$_POST['passlogin'];
$pass=md5($pass);
$email = stripslashes($email);
$pass = stripslashes($pass);
$email = mysql_real_escape_string($email);
$pass = mysql_real_escape_string($pass);
require_once "database.php";
$sql = "SELECT * FROM user_log WHERE email = '$email' and password='$pass'";
$loginresult=mysql_query($sql);
$row=mysql_fetch_array($loginresult);
$rowcnt=mysql_num_rows($loginresult);
if($rowcnt==1)
{
session_start();
$_SESSION['email']=$row['email'];
$_SESSION['mobile']=$row['mobile'];
$_SESSION['fname']=$row['fname'];
$_SESSION['lname']=$row['lname'];
echo " <script>
window.location = '../';
</script>";
}
else
{
echo " <script>
alert('Invalid Login ID or Password....');
window.location = '../';
</script>";
}
我甚至试图回应我从表格中正确收到电子邮件和密码,是的我得到了但问题从下面开始我想:
$sql = "SELECT * FROM user_log WHERE email = '$email' and password='$pass'";
编辑:表格添加
<form action="" method="POST">
<input type="email" id="email" placeholder="abc@xyz.com" name="emaillogin" required>
<input type='password' id='password' name='passlogin' placeholder='Password here' required>
<input type="submit" id="continuesubmitemail" name="loginsubmit" value="Login">
</form>
答案 0 :(得分:2)
isset()
用于检查变量是否已设置
您可以将条件检查为
if(isset($_POST['loginsubmit']) && $_POST['loginsubmit']=='Login')
同时在页面顶部写下session_start();
使用while循环获取数据
$rowcnt=mysql_num_rows($loginresult);
if($rowcnt==1)
{
while($row=mysql_fetch_array($loginresult))
{
$_SESSION['email']=$row['email'];
$_SESSION['mobile']=$row['mobile'];
$_SESSION['fname']=$row['fname'];
$_SESSION['lname']=$row['lname'];
}
echo " <script>
window.location = '../';
</script>";
}
最后停止使用mysql
它已被弃用。您可以使用PDO or mysqli
答案 1 :(得分:2)
你怎么能进入那条线? isset function returns boolean
并且它总是假的,因为你这样做:
if(isset($_POST['loginsubmit'])=='Login')
你应该这样做:
if(isset($_POST['loginsubmit']) && $_POST['loginsubmit']=='Login')
答案 2 :(得分:2)
isset()
返回true或false,因此您必须在下面写下if条件。
if(isset($_POST['loginsubmit']) && $_POST['loginsubmit']=='Login')
答案 3 :(得分:0)
使用mysql_query($sql) OR DIE(mysql_error());
这将显示您的mysql错误
不推荐使用ps , mysql
,请使用mysqli or pdo instead
答案 4 :(得分:0)
替换你的病情
带
if($_POST['loginsubmit']=='Login')
答案 5 :(得分:0)
试试这个
$loginresult=mysql_query($sql) or die(mysql_error());
并检查您是否获得任何输出