2011-05-26 17 views
3

這是如何完成的。現在,讓我進入更多的細節。我想從現在開始,以我的職業生涯爲所有表格製作專業或至少專業的驗證方法。我聽到很多關於現在使用AJAX在用戶甚至離開頁面之前正確驗證某些字段的信息,這讓我感興趣。使用php驗證表單的正確方法(或可能是別的; AJAX)

這是我的示例窗體;

<form action="<?=$frontend['url']?>php/php-login-submission.php" method="post" id="loginForm"> 
    <table width="300px" border="0px" cellpadding="5"> 
    <tr> 
     <td><label><b>Email:</b></label></td> 
     <td align="right"><input name="email" type="text" id="email" placeholder="[email protected]" tabindex="1" title="email" size="30" /></td> 
    </tr> 
    <tr> 
     <td><label><b>Password:</b></label></td> 
     <td align="right"><input name="password" type="password" id="password" placeholder="********" tabindex="2" title="password" size="30" /></td> 
    </tr> 
    <tr> 
     <td></td> 
     <td align="right"><input type="submit" id="loginBtn" value="Login" /></td> 
    </tr> 
    </table> 
</form> 

使用AJAX和PHP,我如何正確驗證此表單。我不介意將數據發送到中間頁面(例如php/php-login-submission.php),然後如果它們通過驗證,則會將它們重定向到pages/members-area.php

到目前爲止,我一直在使用這樣的方法;

if (!isset($_POST['email'])) $_SESSION['errortext'] = 'You must provide an email.'; 

然後只在原始頁面上打印$_SESSION['errortext']。這感覺有點不盡人意。

我對AJAX來說是全新的,我對Javascript沒有太大的信心。順便說一句,如果這是一個問題的愚蠢的一面,那麼請讓我知道,我沒有問題,只是刪除它。在此先感謝,

亞歷克斯。

+2

如果你的目標是要變得專業,並且對Web開發是「新鮮的」,我建議你去使用一些出色的框架其中包括:CakePHP,CodeIgniter,Symfony等。它們包括非常好的文檔和關於如何構建優秀應用程序的教程,並強制執行MVC編碼模式 - 因此您的項目不會是一團糟:) 這些框架的文檔還包括howto的AJAX。 如果你想一般使用AJAX或js,你應該看看jQuery – Matyas 2011-05-26 13:12:50

+0

謝謝,不好意思看看它。 – Aleski 2011-05-26 13:20:55

+0

這是一個登錄表單。在這裏,我想不出使用Ajax進行驗證的任何可能的好處。對於註冊表單,您可以檢查用戶名是否可用,但服務器上沒有任何可用於驗證登錄表單的數據。 – Quentin 2011-05-26 13:34:27

回答

1

嗯,我第一次使用上我使用jQueryjQuery validate plugin所以,我不是把更多的工作,我的服務器上,那麼當我提出,我再次檢查一切以確保沒有任何形式通過裂縫得到了客戶端兩種方法。但這就是我如何做它可能不是「最好」的方式

+0

回答時我們可以更具體些嗎?這出現了「用PHP驗證表單的正確方法」的最好結果,但它並不提供一個好的技術或一些代碼片段:(。 – 2012-09-06 04:44:08

+0

@KirillFuchs我明白你的挫敗感,但我發現的問題是廣泛的一個適合這個空間的答案,對我來說這個問題就像是問如何蓋房子,所以我提供了一個起點而不是教學書。 – mcgrailm 2012-09-06 13:47:26

相關問題