假设要设置cookie或者有html提前输出,但是会导致后面的页面跳转(header()函数
)出现错误。在跳转直接不允许有输出。所以可以在输出的html内容的最前面使用ob_start()来缓存输出,然后在跳转等的函数结束后,使用ob_end_flush()把缓存的内容输出到浏览器上
例如
Ob_start();
session_start();
$session_id = session_id();
$_SESSION[$session_id] = $username;
setcookie('website',$session_id,time()+60);
echo "登录成功!!<a href="."\"auth.php\">登录</a>";
echo "<script>alert('登录成功');</script>";
echo "<script>window.location.href='"."auth.php';</script>";
echo "<script>setTimeout('alert("."111)',2000);</script>";
header("refresh:3,url=auth.php");
ob_end_flush();
No comments:
Post a Comment