Php 无法发送会话cookie-标头已由发送
我知道这已经被张贴了很多次,但我仍然有问题 当我登录到我的网站时,我希望开始一个会话。当我启动会话时,我得到了这个错误 警告:会话启动()[函数.会话启动]:无法发送会话 cookie-标头已由发送(输出开始于 /home1/gretar/public_html/login.php:27) /第30行的home1/gretar/public_html/login.php 警告:会话启动()[函数.会话启动]:无法发送会话 缓存限制器-标头已发送(输出开始于 /home1/gretar/public_html/login.php:27) /第30行的home1/gretar/public_html/login.php 这就是我的代码的样子Php 无法发送会话cookie-标头已由发送,php,mysql,session-cookies,Php,Mysql,Session Cookies,我知道这已经被张贴了很多次,但我仍然有问题 当我登录到我的网站时,我希望开始一个会话。当我启动会话时,我得到了这个错误 警告:会话启动()[函数.会话启动]:无法发送会话 cookie-标头已由发送(输出开始于 /home1/gretar/public_html/login.php:27) /第30行的home1/gretar/public_html/login.php 警告:会话启动()[函数.会话启动]:无法发送会话 缓存限制器-标头已发送(输出开始于 /home1/gretar/publi
<?php
include('mysql_connect.php');
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string(md5($_POST['password']));
$verified = mysql_real_escape_string($_POST['verified']);
$query = "SELECT * FROM members WHERE username='$username' AND password='$password'";
mysql_query("SELECT verified FROM members WHERE username='$username'");
$sql = mysql_query("SELECT verified FROM members WHERE username='$username'");
while($row = mysql_fetch_array($sql)){
$verified = $row["verified"];
};
$result = mysql_query($query);
$query_rows = mysql_num_rows($result);
if($query_rows > 0) {
if($verified == 1) {
echo("User Verified");
} else if($verified == 0) {
echo("User not verified");
}
echo ("Succesfull login!");
session_start();
$_SESSION['login'] = "1";
}else{
echo("Bad login!");
}
}
?>
<html>
<head>
<title>Login</title>
</head>
<body>
<form action="login.php" method="post"/>
Username: <input type="text" name="username"/><br>
Password <input type="password" name="password"/> <br>
<input type ="submit" value="Login!"/>
</body>
</html>
登录
用户名:
密码
真的帮助了我。问题在于这一部分:
echo("User Verified");
} else if($verified == 0) {
echo("User not verified");
如果要更改HTTP头(启动会话时的操作),则不得回显任何内容
为什么不在文件的开头调用session_start()
还请注意,您执行相同的mysql_查询两次。除了在第一次回显之前设置cookies和其他头之外,您还可以使用输出缓冲区。输出缓冲区允许您在打印前缓冲输出,从而允许php正确指定顺序。在HTTP协议中,头先出现,然后是两个回车,然后是您的内容