[英]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()"/>
試試這個,這將幫助您了解基本驗證
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.