php - MySQLi重定向问题

标签 php mysql mysqli header

登录和重定向有一个小问题。我正在构建一个社交网络,登录后将您发送到一个名为 user.php 的文件。

我在 user.php 上登录失败,说用户不存在或未激活!这是我的 login.php 中的一段代码

if(isset($_POST["e"])){
    // GATHER THE POSTED DATA INTO LOCAL VARIABLES AND SANITIZE
    $e = mysqli_real_escape_string($db_conx, $_POST['e']);
    $p = $_POST['p'];
    // Form data error handling
    if ($e == "" && $p == ""){
        echo "Login Failed";
        exit();
    } else {
        $sql = "SELECT id, username, password FROM users WHERE email='$e' AND activated='1' LIMIT 1";
        $query = mysqli_query($db_conx, $sql);
        $row = mysqli_fetch_array($query, MYSQLI_ASSOC);
            $db_id = $row["id"];
            $db_username = $row["username"];
            $db_pass_str = $row["password"];
            if (password_verify('$p', $db_pass_str)){

然后我去为那个用户设置 $_SESSION 和 cookies。
否则我会回显登录失败并退出脚本。

登录后,它应该重定向到它所做的 user.php,但它会在该文件上运行它。
$sql = "SELECT * FROM users WHERE username='$u' AND activated='1' LIMIT 1";
$user_query = mysqli_query($db_conx, $sql);
// Now make sure that user exists in the table
$numrows = mysqli_num_rows($user_query);
if($numrows < 1){
    echo "That user does not exist or is not yet activated, press back";
    exit();
}

我在两个文件上都设置了 error_reporting ,但这并没有引发任何问题!
任何想法你都很棒!非常感谢!
- 菲利普

最佳答案

在您的 mysqli_query 上添加错误捕获:

$user_query = mysqli_query($db_conx, $sql) or die(mysqli_error($db_conx));

用于调试。

第2部分:

你确定你在这里建立了$u :
$sql = "SELECT * FROM users WHERE username='$u' AND activated='1' LIMIT 1";

再次添加 mysqli_error关注 $user_query SQL 行也是。

关于php - MySQLi重定向问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28022436/

相关文章:

php - 循环遍历 foreach php 中的列

php/mongodb session 管理器,session_set_save_handler() 问题

php - 找不到合适的服务器 (`serverSelectionTryOnce` set) : [connection timeout calling ismaster on '10.0.0.106:27017' ]

php - 如何通过关系 Dynamic Laravel 和 Eloquent 对结果进行排序

MySQL - 千位分隔符

php - 动态列 php、mysql 和 DataTables

mysql - 将 XLS 文件导入 MySQL 时,FIELDS TERMINATED BY 字段的作用是什么?

php - fetch_array() 不保留查询中的 ORDER BY

php - Mysqli 错误停止程序执行

php - MySQL 中的月份查询