PHP未在SESSION_start()上创建$_SESSION变量;
我在这里的设置中有3个页面: login.php:包含提交到的用户名和密码字段的登录页面 checklogin.php:用于检查凭据是否正确,并重定向到 login_successful.php:显示用户名 login.php以PHP未在SESSION_start()上创建$_SESSION变量;,php,apache,session,Php,Apache,Session,我在这里的设置中有3个页面: login.php:包含提交到的用户名和密码字段的登录页面 checklogin.php:用于检查凭据是否正确,并重定向到 login_successful.php:显示用户名 login.php以 <?php session_start(); ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <?php include 'content.
<?php session_start(); ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<?php
include 'content.php';
echo $head;
?>
</head>
哪个应该初始化全局$\u会话变量,对吗
checklogin.php有如下代码:
if (mysql_num_rows($result) < 1)
{
/* Access denied */
echo 'Sorry, your username or password was incorrect!';
}
else
{
$_SESSION['username'] = $username;
/* Log user in */
header("location:login_successful.php");
}
<div id="title" style="margin:5px">
<h2>Welcome back <?php echo $_SESSION['username']; ?>!</p>
</div>
if(mysql\u num\u行($result)<1)
{
/*拒绝访问*/
echo'对不起,您的用户名或密码不正确!';
}
其他的
{
$\会话['username']=$username;
/*登录用户*/
标题(“位置:login_successful.php”);
}
login_successful.php如下所示:
if (mysql_num_rows($result) < 1)
{
/* Access denied */
echo 'Sorry, your username or password was incorrect!';
}
else
{
$_SESSION['username'] = $username;
/* Log user in */
header("location:login_successful.php");
}
<div id="title" style="margin:5px">
<h2>Welcome back <?php echo $_SESSION['username']; ?>!</p>
</div>
欢迎回来
不幸的是,当我完成登录过程并登录到login_successful.php时,我得到了这个错误“注意:未定义的变量:\第15行C:\wamp\www\login_successful.php中的会话”,尽管我显然在login.php中启动了一个会话
为什么要这样做?您需要在每个脚本的顶部调用
session_start()
您需要记住checklogin.php中的session_start();每一个剧本?谢谢!我假设它应该被全局调用一次,因为http是无状态的,每个web请求都会有效地启动php,运行,然后关闭,所以每次都需要调用它。如果此答案解决了问题,请使用左侧的大勾号将其标记为已接受。谢谢