-1

嗨,我在 PHP 中创建了一个简单的注册和登录脚本,但是当我加载登录页面时出现这些错误。

警告:session_start() [function.session-start]:无法发送会话 cookie - 标头已由 C:\Users\s14\phase2 中的(输出开始于 C:\Users\s14\phase2\index.php:8)发送\index.php 在第 10 行

警告:session_start() [function.session-start]:无法发送会话缓存限制器 - 标头已发送(输出开始于 C:\Users\s14\phase2\index.php:8)在 C:\Users\s14\phase2 \index.php 在第 10 行

从我的代码的第 6 行到第 20 行

<form action="index.php" method=get>
 <h1 align="center" style="color:gray" >Welcome to this simple application</h1>
<?php
error_reporting(E_ALL & ~E_NOTICE);
session_start();
if( $_SESSION["logging"])
{
     print_secure_content();
}
else {
if(!$_SESSION["logging"])
{  
$_SESSION["logging"]=true;
loginform();
}
4

2 回答 2

1

session_start()在回显或输出之前,您必须保留, 。你有这些在session_start()运行前输出的 HTML。

您的解决方案:

<?php
/* Make sure this part is at the top */
error_reporting(E_ALL & ~E_NOTICE);
session_start();
?>
<!-- Now other -->
<form action="index.php" method=get>
 <h1 align="center" style="color:gray" >Welcome to this simple application</h1>
<?php
if( $_SESSION["logging"])
{
     print_secure_content();
}
else {
if(!$_SESSION["logging"])
{  
$_SESSION["logging"]=true;
loginform();
}
?>
于 2012-04-29T23:45:03.180 回答
0

session_start()必须在任何输出之前调用。因此,如果您将session_start()调用放在任何 HTML 之前,应该没有问题。

于 2012-04-29T23:47:04.950 回答