簡體   English   中英

表單驗證適用於 2 個字段,但不適用於第三個字段 - 什么破壞了驗證檢查

[英]Form Verification works on 2 fields but not the 3rd field - whats breaking the validation check

我有一個我認為非常直接的檢查。 注冊表檢查 3 個字段以確保它們未被占用 用戶名 - 電子郵件和序列號

用戶名和電子郵件完美無缺,但是當我嘗試添加序列號檢查時,它從不顯示驗證消息。

所以首先這里是來自 WORKING 用戶名驗證的代碼:

<!--Javascript for check username availability-->
<script>
function checkUsernameAvailability() {
$("#loaderIcon").show();
jQuery.ajax({
url: "check_availability.php",
data:'username='+$("#username").val(),
type: "POST",
success:function(data){
$("#username-availability-status").html(data);
$("#loaderIcon").hide();
},
error:function (){
}
});
}
</script>

這是我為新的序列號檢查而插入的代碼:

 <!--Javascript for check serial availability-->
 <script>
 function checkSerialAvailability() {
 $("#loaderIcon").show();
 jQuery.ajax({
 url: "check_availability.php",
 data:'serialNumber='+$("#serialNumber").val(),
 type: "POST",
 success:function(data){
 $("#serialNumber-availability-status").html(data);
 $("#loaderIcon").hide();
 },
 error:function (){
 }
 });
 }
 </script>

這是 check_availability.php 代碼:

 // Code for checking email availabilty
 if(!empty($_POST["email"])) {
 $email= $_POST["email"];
 $sql ="SELECT UserEmail FROM  userdata WHERE UserEmail=:email";
 $query= $dbh -> prepare($sql);
 $query-> bindParam(':email', $email, PDO::PARAM_STR);
 $query-> execute();
 $results = $query -> fetchAll(PDO::FETCH_OBJ);
 if($query -> rowCount() > 0)
 {
 echo "<span style='color:red'>Email-id already exists.</span>";
 } else{    
 echo "<span style='color:green'>Email-id available for Registration.</span>";
 }
 }

 // Code for checking email availabilty
 if(!empty($_POST["serialNumber"])) {
 $serial= $_POST["serialNumber"];
 $sql ="SELECT serialNumber FROM  userdata WHERE serialNumber=:userial";
 $query= $dbh -> prepare($sql);
 $query-> bindParam(':userial', $serial, PDO::PARAM_STR);
 $query-> execute();
 $results = $query -> fetchAll(PDO::FETCH_OBJ);
 if($query -> rowCount() > 0)
 {
 echo "<span style='color:red'>Email-id already exists.</span>";
 } else{    
 echo "<span style='color:green'>Email-id available for Registration.</span>";
 }
 }

再次用戶名檢查工作完美,但序列號沒有。 我已經在這里待了一段時間了,但我不知道我在哪里遺漏了一步?

請幫忙

表單驗證示例

您可以檢查錯誤 echo $query->error; 或者您可以檢查您的 SQL 短語是否正確。

 // Code for checking email availabilty if(!empty($_POST["serialNumber"])) { $serial= $_POST["serialNumber"]; echo "this is serail coming : " . $serial ; $sql ="SELECT serialNumber FROM userdata WHERE serialNumber=:userial"; echo($sql); $query= $dbh -> prepare($sql); $query-> bindParam(':userial', $serial, PDO::PARAM_STR); $query-> execute(); $results = $query -> fetchAll(PDO::FETCH_OBJ); echo $query->error; if($query -> rowCount() > 0) { echo "<span style='color:red'>Email-id already exists.</span>"; } else{ echo "<span style='color:green'>Email-id available for Registration.</span>"; } }

  \r\n   

 <script> function checkSerialAvailability() { $("#loaderIcon").show(); let serialNumber= $("#serialNumber").val(); var form_data = { serialNumber : serialNumber }; jQuery.ajax({ url: "check_availability.php", data:form_data, type: "POST", success:function(data){ $("#serialNumber-availability-status").html(data); $("#loaderIcon").hide(); }, error:function (){ } }); } </script>

暫無
暫無

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

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