Php登录表单脚本不工作

Php登录表单脚本不工作,php,forms,login,Php,Forms,Login,对于我正在进行的一个项目,我用php创建了一个注册和登录表单,该表单链接到php myadmin中的数据库 注册表单工作正常,但我在过去3周的登录表单中遇到了问题。我已经改变了很多次,这让我很难堪 这是我目前的登录码 <?php require_once 'includes/db_connect.php'; require_once 'includes/functions.php'; sec_session_start(); //starting a PHP session. if (i

对于我正在进行的一个项目,我用php创建了一个注册和登录表单,该表单链接到php myadmin中的数据库

注册表单工作正常,但我在过去3周的登录表单中遇到了问题。我已经改变了很多次,这让我很难堪

这是我目前的登录码

<?php
require_once 'includes/db_connect.php';
require_once 'includes/functions.php';
sec_session_start(); //starting a PHP session.

if (isset($_POST['submit'])){
    $email = $_POST['e_mail'];
    $password = $_POST['pass'];

    $sql = "SELECT * FROM `websiteusers` WHERE e_mail ='$email' and pass ='$password'";
    $res = mysqli_query($sql) or die (mysqli_error(0));
    $count = 0;
    $count = mysqli_num_rows($res);

    if ($count == 0){
        $_SESSION['logged'] = 0;
        $_SESSION['e_mail']= $email;
        header("Location:account.html); /* Redirect the  browser */
        exit();
    }
    else if ($count==1){
        $_SESSION['logged'] = 1;
        $_SESSION['e_mail] = $email;
        echo "There is an error";
        header("Location:browse.html"); /* Redirect the browser */
    }
}
?>

您在第一次重定向中缺少一个引号:

header("Location:account.html);
                             ^--- missing quote here
再往下看,下面一行缺少另一个报价:

$_SESSION['email]=$email;
                ^

我建议使用一个像样的IDE来轻松发现这样的错误。这可能会为您节省大量调试时间。

您的代码容易受到SQL注入的攻击。除了SQL注入问题和缺少的引号之外。。如果一切正常,您的脚本将回显“存在错误”,并尝试重定向用户(可能因为回显而无法正常工作)@mishu我已添加了缺少的引号并删除了回显,无论是重定向代码无效还是有其他错误。甚至连IDE都没有,一个带有语法高亮显示的简单文本编辑器可以发现这一点。