标题(“location:...”);在新的PHP更新时没有重定向

时间:2012-08-05 19:20:42

标签: php header

if(isset($_SESSION['username']) && isset($_SESSION['password'])){
header("Location: ../welcome/index.php");

我的登录脚本似乎最近停止了工作,7月19日发布了PHP的新更新。

任何人都可以解决这个问题吗?

这是整个剧本。


<?
    include_once ('includes.inc.php');


    if (!isset($_POST['login']) || (strlen($_POST['username']) < 3) || (strlen($_POST['password']) < 3)) { //User forgot a field
        header("Location: ../index.php?message=4");
    }
    else {
        $username = htmlspecialchars(mysql_real_escape_string(trim($_POST['username'])), ENT_QUOTES);
        $password = sha1(trim($_POST['password']));
        $sqlPass  = mysql_query("SELECT isbanned, password, id FROM members WHERE username = '" . $username . "'");
        $sqlPass  = mysql_fetch_array($sqlPass);


        if (($sqlPass['password'] == NULL) || ($sqlPass['password'] != $password)) { //User entered wrong information
            header("Location: ../index.php?message=5");
        }
        else if ($sqlPass['isbanned'] == '1') {
            header("Location: ../index.php?message=50");
        }
        else {
            $_SESSION['username'] = $username;
            $_SESSION['password'] = $password;
            $_SESSION['uid']      = $sqlPass['id'];

            //Log IP
            AddIPToLogs();


            if (isset($_SESSION['username']) && isset($_SESSION['password'])) {
                header("Location: ../welcome/index.php");
            }
        }
    }
?>

2 个答案:

答案 0 :(得分:2)

尝试使用<?php作为开始代码,而不是<?

或者您使用过session_start()??

或者您之前在任何地方发过标题?

php显示有什么错误吗?

答案 1 :(得分:0)

我首先想到的是,查看提供的代码是你的if语句有语法错误。

if (!isset($_POST['login']) || (strlen($_POST['username']) < 3) || (strlen($_POST['password']) < 3)) { //User forgot a field
    header("Location: ../index.php?message=4");
}

应该是

if ((!isset($_POST['login']) || (strlen($_POST['username']) < 3) || (strlen($_POST['password']) < 3)) { //User forgot a field
    header("Location: ../index.php?message=4");
}

此外,您在'header('Location:')'语句之前有一个'include'语句。您所包含的代码中可能存在一个问题。

最后,您应该详细说明如何更新系统,从哪个版本的PHP到“最新”版本。您是自己进行此更新,还是在Web托管服务器上运行?