我的标题有问题。 处理页面时,我只会退出();
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'。
答案 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>";