php - 登录 session 问题

标签 php html mysql sql

由于某种原因,这是我的代码,它总是返回密码不正确。我不确定我是否只是忘记了某个地方的括号,另外我怎样才能使它更安全,因为现在我正在使用 _post 函数。

<?php
  include 'config.php';

  session_start();
  session_destroy();
  session_start();

  $UserName = $_POST['UserName'];
  $PassWord = $_POST['PassWord'];

  if ($UserName&&$PassWord)
  {
    mysql_select_db("SegmentMath") or die ("Couldn't find database sorry.");   
    $query = mysql_query("SELECT * FROM Users WHERE UserName='$UserName'");    
    $numrows = mysql_num_rows($query);

    if ($numrows!=0)
    {
      // code to login
      while ($row = mysql_fetch_assoc($query))
      {
        $dbUserName = $row['UserName'];
        $dbPassWord = $row['PassWord'];
      }

      //check to see if they match!
      if ($UserName==$dbUsername&&$PassWord==$dbPassWord)
      {
        $_SESSION['UserName']=$dbUsername;
        $_SESSION['PassWord']=$dbPassWord;

        echo "<p>Finished Software</p>";
      }
      else
      {
        echo "Incorrect Password";
      }
    }
    else die("Sorry username not found!");
  }
  else die("Please Enter A Valid Username And Password!");
?>

所以我几乎可以肯定我正在做一些愚蠢的错误,这让我困惑了近 30 分钟。该文件只是 login.php,所以基本上,如果用户在 login.html 页面上输入用户名和密码,它就会将该数据推送到此页面 Login .Php.

我很困惑为什么它说密码不正确,即使登录是正确的并且在数据库中。

最佳答案

我想说,最好使用这个,我的意思是创建查找用户名密码的查询

$login = mysql_query("SELECT * FROM users WHERE ID='". $UserName ."' AND PASSWORD='". md5($PassWord) ."');
$row=mysql_fetch_array($login); // fetch row
if($row!=null)   // if found row 
{
$_SESSION['UserName'] = $row['UserName']; // store in session
$_SESSION['PassWord'] = $row['PassWord']; 
} %>

而不是

if (($UserName==$dbUsername)&&($PassWord==$dbPassWord))
{

$_SESSION['UserName']=$dbUsername;
$_SESSION['PassWord']=$dbPassWord;

echo "<p>Finished Software</p>";

}

关于php - 登录 session 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13965718/

相关文章:

php - PHP/mysql:Insert语句无法按预期工作

jquery - 如何使最后两项在底部对齐?

php - 无法识别文件目录路径的变量

mysql - Rails ActiveRecord 多级关联

php - Mysqli 到 PDO 的转换

php - 根据laravel中关系表中的数据显示分页

javascript - 将初始化对象传递给 javascript 函数

mysql - 仍然对 MySQL 中的 having 和子查询感到困惑

mysql - 使用 concat SQL 的基于函数的索引

php 返回 500 错误但没有错误日志