为什么在PHP5.3中exit()之后会出现警告?
我有一个简单的登录检查,如下所示:为什么在PHP5.3中exit()之后会出现警告?,php,warnings,exit,Php,Warnings,Exit,我有一个简单的登录检查,如下所示: function send_error($message) { header ( 'Content-Type: text/html; charset=utf-8' ); header ( 'HTTP/1.0 406 Not acceptable' ); echo $message; exit (); } session_start (); if (! isset ( $_SESSION ["login"] ) || $_SESS
function send_error($message) {
header ( 'Content-Type: text/html; charset=utf-8' );
header ( 'HTTP/1.0 406 Not acceptable' );
echo $message;
exit ();
}
session_start ();
if (! isset ( $_SESSION ["login"] ) || $_SESSION ["login"] === "" || ! isset ( $_SESSION ["type"] )) {
send_error ( 'ERRORE: Devi prima aver eseguito il login per poter fare logout.' );
}
问题是,如果用户尚未登录,则此部分后面的代码行会显示警告。
为什么?
不应该exit()代码>命令停止代码执行?这是其中一个警告:
Warning: Cannot modify header information - headers already sent by (output started at /var/www/people/ltw1313/cgi-bin/verifica_login.php:11) in /var/www/people/ltw1313/cgi-bin/verifica_post.php on line 13
尝试写入ob_flush()代码>在标题之前('Content Type:text/html;charset=utf-8')代码>我建议您阅读有关在php中发送标题的文档。和关于输出缓冲区。可能重复的