2013-11-22 7 views
0

У моей домашней страницы есть ссылка на страницу профиля (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. 
?> 

Ошибка Я адресности:

Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\xampp\htdocs\sss\login.php on line 4

Почему нет t работает? Как вы думаете, мой код неправильный? Если да, то как я могу это исправить или получить то, что я хочу?

+0

Прошу прощения? ... Я не понимал, что вы пытаетесь сказать. @Pitchinnate – user3017315

+0

Lol жаль, что это была шутка, потому что вы набрали массаж, а не сообщение. – Pitchinnate

+0

@ user3017315 Массаж - это не сообщение. На английском языке [массаж] (http://dictionary.reference.com/browse/massage) забавно отличается. – gibberish

ответ

1

У вас есть какие-то ошибки:

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

Тогда:

echo $_GET['mssg']; 
+0

спасибо. оно работает. :) – user3017315

+0

Я также рекомендую использовать [urlencode] (http://us3.php.net/manual/en/function.urlencode.php) –

+0

@ JanTuroň да, это хорошая идея, чтобы убедиться, что переменная GET doesn Меня не изменят. – Pitchinnate

2

Добавить пустой блок после if:

if (empty($_SESSION['intruder'])) //print nothing 
{ ; } 
else { 
    echo $mssg; 
} 

или просто сделать это:

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

** Теперь я получаю это: ** Примечание: неопределенная переменная: mssg в C: \ xampp \ htdocs \ sss \ login.php в строке 5 – user3017315

+0

Похоже, что у вас есть еще одна ошибка, у вас есть код типа $ mssg = $ _GET ['mssg'], чтобы получить параметр на URL-адресе? –

+0

Я пробовал их обоих. но оба из них дают мне уведомление (данное в предыдущем комментарии) – user3017315

Смежные вопросы