[英]Javascript form validation in PHP
我已經用PHP開發了一個登錄頁面。 我正在使用PHP代碼來驗證用戶名和密碼不為空。 錯誤時會彈出Javascript警告框,頁面將導航回登錄頁面。 現在假設如果用戶輸入用戶名而不輸入密碼,然后單擊登錄,則密碼為空框將顯示,現在用戶我要用戶導航回登錄頁面,用戶名填充有他先前輸入的值。 我是PHP的初學者,卻不了解如何執行此操作。 這是我的代碼
if($myusername == null){
echo '<script language="javascript">';
echo 'alert("Username cannot be empty")';
echo '</script>';
echo "<meta http-equiv='refresh' content='1; URL=main_login.php'>";
exit();
}
if($mypassword == null){
echo '<script language="javascript">';
echo 'alert("Password cannot be empty")';
echo '</script>';
echo "<meta http-equiv='refresh' content='1; URL=main_login.php'>";
exit();
}
如果您使用HTML5,則可以按照以下說明使用表單驗證:
http://www.sitepoint.com/html5-form-validation/
否則,您可以使用一些jQuery和插件來驗證表單。
如果正在使用jQuery。 然后,您可以使用jQuery插件http://jqueryvalidation.org/files/demo/
有很多方法可以實現。您可以將用戶名存儲在會話中,這可能不是一個好主意。另一種方法是,您可以在重定向到登錄頁面時將用戶名傳遞到url中,重定向為login.php?us = usernameEntered並將用戶名的值設置為
<input type="text" name="username" value="<?php echo $_GET['usernameEntered'];?>"/>
或者您可以在jquery中使用表單驗證,並避免所有這些重定向
我相信您可以使用自定義腳本或使用Jquery Validaor插件 。 我創建了一個示例Jquery Validator示例。
$(document).ready(function () {
$('#contact-form').validate({
rules: {
name: {
minlength: 2,
required: true
},
email: {
required: true,
email: true
},
message: {
minlength: 2,
required: true
}
},
highlight: function (element) {
$(element).closest('.control-group').removeClass('success').addClass('error');
},
success: function (element) {
element.text('OK!').addClass('valid')
.closest('.control-group').removeClass('error').addClass('success');
}
});
});
注意:您也可以使用這個插件沒有引導更多詳細信息
不建議在PHP中使用Javascript,必須有其他方法可以做到這一點,但由於我不知道為什么要這么做。 試試看
if($myusername == null){
echo '<script language="javascript">';
echo 'alert("Username cannot be empty")';
echo 'window.location = "/main_login.php?un=myusername";'
echo '</script>';
exit();
}
if($mypassword == null){
echo '<script language="javascript">';
echo 'alert("Password cannot be empty")';
echo 'window.location = "/main_login.php?un=myusername";'
echo '</script>';
exit();
}
在main_login.php里面放這個
<input type="text" name="username" value="<?php echo $_GET['usrname'];?>"/>
這很簡單。 您可以通過兩種方式做到這一點
按查詢字符串。 將用戶名放在查詢字符串中,並在用戶名文本框的value屬性中訪問該查詢字符串。 用這種方法將用戶重定向到登錄頁面。 顯示警報框后,因為您不能使用header('Location:..')函數,因為已經發送了標題,則需要使用javascript進行重定向。 將這些行alert('...')方法window.location.href = "Your signup URL?uname=Username which user entered";
然后在原始頁面上,使用以下值屬性<input tyep="text" name="textbox name" id = "textbox id" value = "<?php if(isset($_GET['uname'])) echo $_GET['uname']; else echo '';?>">
您可以將用戶名的值存儲在會話中,並將超出該會話的值存儲在用戶名文本框的value屬性中。 在這種情況下,驗證后使用以下代碼(如果未驗證表單)
$ _SESSION ['uname'] = $ _POST ['用戶名字段的名稱'];
然后在登錄頁面上使用以下<input tyep="text" name="textbox name" id = "textbox id" value = "<?php if(isset($_SESSION['uname'])) echo $_SESSION['uname']; else echo '';?>">
第二種方法不要忘記調用session_start();
在您編碼的一開始。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.