我的主页有一个指向配置文件页面(profile.php)的链接。只有登录的用户才能看到配置文件页面。如果用户在登录前单击配置文件链接,他/她将被重定向到登录页面(login.php),并在登录表单的顶部显示一条消息($mssg
)。---这就是我想要的
我观察到的问题是:标头函数似乎无法获得$mssg
和页面位置。
profile.php:
<?php
session_start();
if(empty($_SESSION['valid'])){
$_SESSION['intruder']="stranger";
header('Location: login.php?$mssg=" You are not logged in. Please log in to see the profile. "');
}
?>
login.php
<?php
session_start();
if (empty($_SESSION['intruder'])) //print nothing
else {
echo $mssg;
}
// log in form code, email, password etc.
?>
我得到的错误:
分析错误:语法错误,第4行上C:\examplep\htdocs\sss\login.php中出现意外的'else'(T_else)
为什么它不起作用?你认为我的代码错了吗?如果是,那么我该如何修复它或得到我想要的东西?
您有一些错误:
$mssg = urlencode('Your message here');
header('Location: login.php?mssg=' . $mssg);
然后:
echo $_GET['mssg'];
在if
:之后添加一个空块
if (empty($_SESSION['intruder'])) //print nothing
{ ; }
else {
echo $mssg;
}
或者就这么做:
if (!empty($_SESSION['intruder'])){
echo $mssg;
}