2013-11-22 106 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

爲什麼沒有工作?你認爲我的代碼錯了嗎?如果是這樣,那麼我該如何修復它或得到我想要的?

+0

對不起? ...我不明白你想說什麼。 @Pitchinnate – user3017315

+0

哈哈對不起,這是一個笑話,因爲你鍵入按摩,而不是消息。 – 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

相關問題