如果用户未登录,则显示消息

时间:2013-11-22 19:14:46

标签: php php-parse-error

我的主页上有个人资料页面的链接(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:\ xampp \ htdocs \ sss \ login.php中的语法错误,意外的'else'(T_ELSE)

为什么不起作用?你觉得我的代码错了吗?如果是这样,那么我该如何解决它或得到我想要的东西呢?

2 个答案:

答案 0 :(得分:2)

if

之后添加一个空白区块
if (empty($_SESSION['intruder'])) //print nothing
{ ; }
else {
  echo $mssg;
}

或者只是这样做:

if (!empty($_SESSION['intruder'])){
  echo $mssg;
}

答案 1 :(得分:1)

您有一些错误:

$mssg = urlencode('Your message here');
header('Location: login.php?mssg=' . $mssg);

然后:

echo $_GET['mssg'];