【问题标题】:Error when checking user input against data in database with php and SQL使用 php 和 SQL 针对数据库中的数据检查用户输入时出错
【发布时间】:2014-03-12 01:10:48
【问题描述】:

我在 php 中有一个登录表单,我已连接到 phpmyadmin 中的 sql 数据库。我编写的脚本应该从用户那里获取电子邮件和密码变量。然后它应该检查数据库以确保用户已注册。然后要么将用户重定向到他们的帐户,要么通知用户他们的详细信息不匹配并要求他们重试。但是,无论我以何种方式更改代码,即使我通过表单提交的数据是随机信息,它也会始终重定向到帐户页面。

任何帮助或建议都会很棒。谢谢。 这是我的代码

<?php
//require_once 'includes/db_connect.php';//
//require_once 'includes/functions.php';//

$con=mysqli_connect("x","m","z","m");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

session_start(); //starting a PHP session.


if (isset($_SESSION['logged'])){
    header("Location:account.html");
    exit();
}



    $email = $_POST['email'];
    $password =($_POST['password']); 

    $sql = mysqli_query($con,"SELECT * FROM `websiteusers` WHERE email ='" . $email . "' and password ='" . $password . "'") or die (mysqli_error($sql));
    $count = mysqli_num_rows($sql);
    //$row=mysqli_fetch_array($query);//



     if ($count==1){
        $_SESSION[logged] = 1;
        $_SESSION['email'] = $email;
     $_SESSION['password'] =$password;
         header("location:account.html"); /* Redirect the browser */
    }  

        else {
       echo "Sorry those details are not in the database. Click here <a href=\"memberlogin.html\"</a> to try again.";  
        }


exit();

?>

【问题讨论】:

  • 确保您的会话在两次页面浏览之间被正确销毁。您可能将其保持打开状态,这意味着您的数组中的“已记录”索引始终设置,因此您总是点击帐户。您可能想尝试的一件事是当有人点击登录页面时调用 session_destroy()。
  • @Zarathuztra 感谢您的提示。我将它添加到代码中,但我似乎仍然遇到问题

标签: php sql database forms login


【解决方案1】:

这是因为您使用的会话索引$_SESSION[logged] 应该是$_SESSION['logged']

if ($count==1){
    $_SESSION['logged'] = 1;
    $_SESSION['email'] = $email;
    $_SESSION['password'] =$password;
    header("location:account.html"); /* Redirect the browser */
}  

【讨论】:

    【解决方案2】:

    你忘记了$_SESSION[logged]变量中的'',它应该是$_SESSION['logged']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多