2012-09-16 54 views
1

我將如何在IF語句迴應一個錯誤到另一個頁面迴應一個錯誤,PHP - 如何在另一個頁面

例如我有一個登錄表單,並登錄處理PHP,IF語句是我處理文件,我希望它,以便如果登錄無法在登錄表單頁面上回顯錯誤。

最好以我可以格式化文本的方式!感謝您的任何幫助!

+2

有一百萬種方法可以做到這一點。最簡單的方法是在處理頁面上設置一個變量,該變量將有條件地包含登錄頁面。更復雜和正確的做法是隻接受處理腳本的POST請求,設置[「flash」消息](http://labs.iamkoa.net/2008/01/13/session-based-flash-messages-look- better-cakephp /),然後重定向到可以顯示Flash消息的登錄頁面的GET請求。 – meagar

+0

最簡單的方法將永遠不會離開您的登錄頁面,並通過ajax方法檢查輸入的用戶數據。 – Najzero

+0

謝謝您的反饋!非常感謝:) – neeko

回答

2

那麼你可以做這樣的事情:

<?php 
if (error) { 
    $_SESSION['message'] = "There was an error"; 
} 
?> 

你會然後重定向回頁面你想的錯誤上顯示。

<?php 
if (error) { 
    $_SESSION['message'] = "There was an error."; 
    header("Location: page.php"); 
} 
?> 

然後用錯誤的頁面上,你會對它是這樣的:

<?php echo $_SESSION['message']; unset($_SESSION['message']); ?> 

記住,你將不得不取消設置會話,這樣,當用戶刷新誤差不會那裏。我希望這是你的目標。

+0

謝謝,這幾乎是我的目標!非常感謝!! – neeko

+0

我很高興能幫到你! – user1676019

+0

快速問題,任何想法如何格式化消息,例如使文字紅色? – neeko

3

當您重定向到錯誤頁面,傳遞一個錯誤的參數:

if(problems){ 

    header("Location: error.php?errorCode=wrongUsername"); 
    exit; 

} 

在你error.php文件,寫你自己的邏輯:

$errorCode = $_GET['errorCode']; 

雖然這當然是一個整體的香草方法。

+0

+1我認爲沒有別的會像你所描述的方法 –

+2

不要忘了你的重定向''''''' – halfer

+0

謝謝你''退出()'將嘗試得到這個工作! !非常感激! – neeko

相關問題