我正在尝试解决与php中的会话相关的此错误。请帮帮我三江源!
警告:session_start():无法发送会话cookie - 标头 发送者(输出从C:\ xampp \ htdocs \ myfolder \ Login.php:117开始) 第155行的C:\ xampp \ htdocs \ myfolder \ Login.php
警告:session_start():无法发送会话缓存限制器 - 标头 已发送(输出开始于 C:\ xampp \ htdocs \ myfolder \ Login.php:117)in 第155行的C:\ xampp \ htdocs \ myfolder \ Login.php
这是php代码:
$adm_user=$_POST['username'];
$adm_pass=$_POST['password'];
if($adm_user=="" || $adm_pass=="")
{
echo'Fields Cannot Be Empty';
}
else
{
$adm_login_sql="SELECT admin_login.username, admin_login.password
FROM admin_login
WHERE username='$adm_user' AND password='$adm_pass'";
$adm_login_query=mysql_query($adm_login_sql);
if (!$adm_login_query)
{
echo "Error: No records found" . mysql_error();
}
else
{
echo "query successful<br>";
$adm_login_row=mysql_fetch_array($adm_login_query);
$check_uname=$adm_login_row[0];
$check_pass=$adm_login_row[1];
if($check_uname==$adm_user && $check_pass==$adm_pass)
{
session_start();
$_SESSION['name']=$adm_user;
header('location:admin.php');
}
else
{
echo 'Password Missmatch!!!';
}
}
}
答案 0 :(得分:1)
在第一个代码行中添加@ob_start();
并更改
session_start();
至@session_start();
答案 1 :(得分:1)
"Headers already sent"
表示您的PHP
脚本already sent the HTTP headers
,因此现在无法对其进行修改。
在致电session_start()
之前,请检查您是否发送了任何内容。更好的是,只需在session_start()
文件中执行PHP
即可(在所有HTML等之前将其置于绝对开头)。