2013-04-29 37 views
0

IM當我登錄頁面驗證我這個用戶名或密碼不正確,

echo "<script languge='javascript'>location.href='index.php?msg=Incorrect UserName OR Password';</script>"; 

,並使用此代碼對我的索引IM。 PHP顯示味精

echo $msg=$_GET["msg"]; 

但問題是,當我在對的index.php把我的用戶名和密碼,錯誤去來代替味精。

Notice: Undefined index: msg in C:\wamp\www\CIT Site\admin\index.php on line 28

好心告訴我,我如何得到默認情況下空msg和我應該如何打印它沒有任何錯誤陳述。

由於提前

+0

當我把錯誤的用戶名或密碼,正確打印味精,但是當我訪問的index.php第一次提示錯誤 – 2013-04-29 21:00:17

+0

..at第一有沒有這樣類似「味精」的事情,但未來一個它! – 2013-04-29 21:04:31

+0

@Shahjahan它說'通知',而不是一個錯誤..它應該通過很好。如果你想擺脫它,使用'error_reporting(0);'在您的php代碼頂部.. – reikyoushin 2013-04-29 21:17:29

回答

3

您需要檢查,如果該鍵的排列第一

if (isset($_GET['msg'])) { 
    echo $_GET['msg']; 
} 

中存在,也可以使用速記三元運算符。

$msg = (isset($_GET['msg'])) ? $_GET['msg'] : null; 
echo $msg; 

正如評論中所述,如果您只是呼應,請執行以下操作。

<?php echo (isset($_GET['msg'])) ? $_GET['msg'] : null; ?> 
+0

它給這個錯誤「解析錯誤:語法錯誤,意想不到的'{'在C:\ wamp \ www \ CIT站點\ admin \ index.php在線28 」 – 2013-04-29 21:04:28

+0

提供的代碼中沒有語法問題,這是28線嗎? – philipobenito 2013-04-29 21:06:11

+0

我使用此代碼「<?php \t \t \t \t \t $ msg =(isset($ _ GET [|」msg「]))?$ _GET [「msg」]:null; \t \t \t \t \t echo $ msg; ? \t \t \t \t \t>」給出了這個錯誤 「解析錯誤:語法錯誤,意想不到的 '|',希望在C ']':\ WAMP \ WWW \上線28 CIT網站\ ADMIN \的index.php」 – 2013-04-29 21:10:44

2

首先,我認爲你應該改變msg get變量的'不正確的用戶名或密碼'的值。將它改爲其他的東西,可能是一些數字或更短的東西。 5或iup(不正確的用戶名密碼)。

這將是你的網址:index.php的味精= IUP

然後在index.php文件,你需要檢查GET變量「味精」設置,如果它等於 IUP,設置錯誤變量?

<?php 
if (isset($_GET['msg'])) 
{ 
    $messageValue = $_GET['msg']; 

    if ($messageValue == 'iup') 
    { 
    //the incorrect username or password message was sent 
    $error = "Incorrect UserName OR Password"; 
    } 
} 
?> 

上面的代碼應該放在HTML聲明之上的文檔的開頭。 我們現在在html文檔的主體中打開一個腳本,並在錯誤變量不爲空時回顯錯誤消息,檢查它是否爲空並且不僅僅是isset很重要,因爲在這種情況下,isset將顯示一個錯誤如果錯誤變量沒有被賦值。

<?php 
if (!empty($error)) 
{ 
    echo '<p>' . $error . '</p>'; 
}  
?> 
+0

不錯的技術兄弟,它的工作,謝謝。 – 2013-04-29 21:32:43

+0

太棒了:) – 2013-09-15 14:59:28