簡體   English   中英

表單驗證-使用PHP和Javascript的客戶端和服務器端的正確方法

[英]Form Validation - proper method for client and server side using PHP & Javascript

--edit--(嘗試改寫我的問題,以減少混亂。.)

我的理解是,如果Javascript不起作用,則應同時驗證客戶端和服務器端的表單。

高級開發人員如何在無縫界面中完成此任務(如果必須以一種通用的方式進行描述)?

目前,我有Javascript使用'onkeyup()'快速驗證我的輸入字段,突出顯示了無效的字段。

如果在用戶提交后使用PHP運行相同的驗證,那么如果有任何錯誤,我必須重定向到表單,以刷新頁面。

我以為這種方法不夠成熟。

最好的方法是什么?

提前致謝。

---下面的原始問題---

因此,我使用客戶端javascript創建了一個表單,以驗證作為用戶類型的輸入。 如果數據無效(使用javascript更改css),它將突出顯示帶有紅色邊框的框。 如果JavaScript客戶端有任何問題,我想與php服務器端重新驗證相同的數據。

我正在嘗試找出實現此目的的適當(或最佳)方法。

當前,將表單操作設置為在用戶點擊提交后轉到“ register_post.php”。

-

因此,我是否僅在PHP的“ register_post.php”中驗證表單數據,並在無效的情況下重定向回表單頁面,或者是否有更復雜的方法來執行此操作?

一個令人討厭的結果是頁面重定向時頁面刷新。

有沒有更復雜的方法可以做到這一點?

-

另一個相關的問題是-我應該為javascript准備我的代碼根本不起作用嗎? ..自目前以來,如果數據無效,我將使用javascript突出顯示字段。 如果沒有js,用戶將不會指示哪些字段無效。

由於我是初學者,請多多包涵。

您正在嘗試使用PHP驗證發布數據,並且沒有刷新頁面,但我不知道您是否正確。 如果要使用PHP驗證數據且不刷新頁面,則可以使用AJAX。 您可以使用javascript將數據發布到PHP腳本並處理PHP返回數據。

jQuery ajax方法的示例:

<script>
var validDataArr = '';  //data need to be valided
$.ajax({
            type:"post",url:"http://"+top.location.hostname+"/valid.php",
            data:validDataArr,
            success:function(context){alert(context);}

        });
</script>

提交表單時,調用javascript函數以驗證字段,如果不合適則拋出錯誤。

您可以如下調用js函數

input type="submit" name="Submit" id="button2" value="Submit" onClick="javascript:verify()"/>

試試這個,這將幫助您了解基本驗證

http://jsfiddle.net/NWWL4/15/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM