php - 我的网站登录过程遇到问题

标签 php html mysql pdo

我在登录过程中遇到困难。根据数据库,用户名和密码都是正确的。数据库中的字段名称也是正确的。我正在使用 PDO。当我点击登录时,我总是重定向到 else 括号。请帮助我,谢谢。

<?php 
session_start();
include 'config.php';

if ($_POST) {
$user = $_POST['user'];
$pass = md5($_POST['pass']);

$query = "SELECT * FROM useraccounts WHERE USER_NAME=? AND USER_PASSWORD=?";

$stmt  = $conn->prepare($query);
$stmt  -> bindParam(1,$user);
$stmt  -> bindParam(2,$pass);
$stmt  -> execute();

$num  = $stmt->rowCount();

if ($num>0) {
    session_start();
    $_SESSION['user']=$user;
    $_SESSION['active']=true;
     header('location:frontpage.php');  //Must be the destination
    echo "SUCCESS"; 
            }
else{
    header('location:login.php'); // <-- I'm always directing here
    echo "FAILED";
    }

}

else{
header('location:login.php');
echo "FAILED";

}

最佳答案

如果您被重定向到 login.php 页面,请记住以下几点:

1) 除非您通过 POST 请求访问该页面,否则您将始终获得登录页面。您的 if 语句如下所示:

如果($_POST){

因此,如果您直接从浏览器访问该页面,您将被直接重定向到 login.php 页面。

2)如果您从第二个 else 语句重定向,就像您在评论“<--我总是指向这里”中所说的那样,那么您的查询不会返回任何结果。你的查询看起来不错。因此,请检查您传递的凭据。确保它与数据库匹配。

关于php - 我的网站登录过程遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44220380/

相关文章:

php - mysql连接远程主机失败

php - 为什么我的 php 脚本不返回结果?

php - Openx插件开发

html - 属性 'nowrap' 被认为已过时。建议使用更新的构造。它是什么?

javascript - 绑定(bind)列表元素以点击 JQuery Mobile

PHP 函数传递包含文件

mysql - 在同一个表中查找在 MySQL 中具有 %40 的电子邮件

javascript - 在 Android 上让 HTML 链接始终提示“完成操作”

php - ajax 请求后,Syntaxhighlighter 找不到任何画笔

javascript - AJAX 未将日期发布到 PHP