功能"标题"不起作用

时间:2012-01-21 12:42:46

标签: php

我的标题有问题。 处理页面时,我只会退出();

if($validate=='true') {
        $_SESSION['nome'] = $nome;
        $_SESSION['cognome'] = $cognome;
        $_SESSION['email'] = $email;
        $_SESSION['telefono'] = $telefono;
        $_SESSION['cellulare'] = $cellulare;
        $_SESSION['password'] = $password;
        $_SESSION['societa'] = $societa;
        $_SESSION['pi'] = $pi;
        $_SESSION['cf'] = $tax;
        $controllor = md5(uniqid(rand(), TRUE));

        ob_start();
             header("Location: index.php?nav=8&controllor=".$controllor);
        ob_end_flush();
        exit();


    }

上面的所有变量都正确填充,$ validate等于'true'。

3 个答案:

答案 0 :(得分:1)

位置标题应使用绝对uri。

http://php.net/manual/en/function.header.php

无论如何检查你是否已发送标题:

http://www.php.net/manual/en/function.headers-sent.php

在这种情况下,您也无需使用ob_start或ob_end。

答案 1 :(得分:1)

首先,应避免使用输出缓冲来避免编写正确的代码;它可能会让你远离这个。

其次,使用输出缓冲来避免头错误消息的方式是错误的。 输出缓冲应该首先开始。

没有错误消息或更多代码来解决您的问题,一个明显的建议是删除输出缓冲,将标题函数()的功能移动到一个点,然后输出到浏览器。

答案 2 :(得分:0)

因为你的$ validate等于true。我建议这个解决方案,否则我不会

您可以使用此Javascript替换标头()。

echo "<script>location.href=index.php?nav=8&controllor='$controllor'</script>";