php - 为什么我的 php 重定向不起作用?

标签 php mysql

我正在编写登录脚本。我的 db.php 不回显/打印任何内容,所以为什么不 header("Location: index.php");登录成功后重定向?登录信息正确。我知道我需要清理输入,但这目前不是问题。

 <?php
        require('db.php');
        $username = $_POST['un'];
        $password = $_POST['pw'];
        $qry="SELECT uid FROM users WHERE name='$username' AND pass='".md5($password)."'";
        $result=mysql_query($qry);
        if(mysql_num_rows($result) == 1){
            session_regenerate_id();
            $user = mysql_fetch_assoc($result);
            $_SESSION['S_UID'] = $user['uid'];
            session_write_close();
            header("Location: index.php");
            exit();
        }else{
            echo "<center><form action='index.php' name='login'>Login failed! Please try again with correct username and password.<br><input type='submit' name='failed' value='Return to Login'></form></center>";
            exit();
        }
    ?>

最佳答案

只有在调用函数之前脚本没有发送输出时,函数头才会起作用。检查上面的代码是否有回显。

如果没有,请检查上面的包含文件在结束“?>”标记后是否有多余的空格或换行符。否则,该空格或换行符将在 header 之前发送到浏览器。

关于php - 为什么我的 php 重定向不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3402736/

相关文章:

php - 如何知道 imagick 是否抛出错误 - PHP

mysql - 最后添加到表 SQL 中

PHP/MySQL : What is the best way to get filtered data from a database that has been inputted by a logged in user?

php/sql - 在多个字段上插入相同的值

php - Guzzle post 请求到自己的服务器导致 `404 Not Found`

php - 查询日期范围在一个范围内但特殊情况

Php MySQL 查询以获取特定用户 ID 的最大事件 ID

javascript - 更新 MYSQL 表给出成功消息,但不更新表

mysql - 在不使用 SELECT DATABASE() 的情况下获取 MySQL 中的数据库名称

php - 从静态方法中创建类实例