2010-08-30 168 views
0

當用戶創建自己的帳戶時,如果出現錯誤,我想將它們重定向到同一頁面,但在頂部顯示錯誤。發送錯誤消息到另一頁?

這樣做的最好方法是什麼?

+1

爲什麼重定向?你爲什麼不打印錯誤?如果要將數據處理與數據輸出分開,請使用模板。 – Gumbo 2010-08-30 15:37:08

+0

因爲如果用戶填寫輸入框並輸入錯誤信息,當他們按下「註冊」時,我希望他們被重定向到註冊頁面並告知錯誤。 – 2010-08-30 15:41:25

+0

只需將表單數據發送到同一頁面並在輸出表單之前進行驗證。然後你可以打印一個錯誤並填寫表格。 – Gumbo 2010-08-30 16:20:39

回答

3

結構化你的頁面如下(以粗糙的僞代碼)

if (doing a post) { 
    process input 
    if (post is ok) { 
     redirect to success page 
    } else { 
     build error messages 
    } 
} 

if (error messages available) { 
    display errors 
} 

display form(filled in with previously submitted values) 
+0

這就是我所做的,但有沒有一種方法可以做到這一點,而不必將PHP和HTMl合併在同一頁 – 2013-03-28 16:27:39

+0

當中,請使用模板系統。但無論您使用的是什麼樣的模板系統,在某些時候,代碼/ html必須混合在一起。 – 2013-03-28 21:53:40

0

我保存錯誤到會話並刪除它,一旦它被渲染。由於您可能會在重定向時中止頁面執行,因此它將永遠不會到達負責渲染的代碼,從而將其留在會話中。

1

我喜歡創建一個名爲set_feedback()的函數,它在會話變量中設置錯誤。那麼我有這個其他功能get_feedback()檢索信息並取消設置變量。