我的系统流程是这样的:首先管理员输入用户名和密码登录后,系统会直接跳转到result.php。而我在result.php中写入这么一段,以防止用户在地址栏直接输入result.php访问。
<?php
include "conn.php";
include "admin_header.php"; session_start();
if($_SESSION["admin_name"]==""&&$_SESSION["admin_pass"]==""){
session_write_close();
header("Location:index.php");
}
?>
但是登录后系统提示: A session had already been started - ignoring session_start() on line 5
<?php
include "conn.php";
include "admin_header.php"; session_start();
if($_SESSION["admin_name"]==""&&$_SESSION["admin_pass"]==""){
session_write_close();
header("Location:index.php");
}
?>
但是登录后系统提示: A session had already been started - ignoring session_start() on line 5
你程序中多次执行了 session_start()
<?php
//用户身份验证
session_start();
include "conn.php";
include "header.php";
extract($_POST);
if ($admin_name!=$admin || $admin_pass!=$pass_admin)
{
echo"<p align=\"center\"><font color=\"#FF0000\"><b><big>请确认用户名和密码是否正确</big></b></font></p>";
echo("<HTML><META http-equiv=\"refresh\" content =\"1;url=admin.php\"></HTML>");
exit;
}
else
{
$_SESSION["admin_name"]=$admin_name;
$_SESSION["admin_pass"]=$admin_pass;
echo("<HTML><META http-equiv=\"refresh\" content =\"0;url=result.php\"></HTML>");
exit;
}include "foot.php";
?>
这样可以判断session是否开启
if(!isset($_SESSION)){
session_start();
}