ajax - Manually sending a post in PHP -


i have form validated client side before being submitted via ajax request server server-side validation. should validation fail server side postback need made containing error messages. there way can this?

for example:

if ((!empty($nameerror) && (!empty($emailerror)) {      $_post['nameerror'] = $nameerror;     $_post['emailerror'] = $emailerror;     // send postback values } else {      echo 'no errors'; } 

update ------------------------------------------------

here javascript handles submission of form:

$(".button").click(function() {              $(".error").hide();              var name = $(":input.name").val();             if ((name == "") || (name.length < 4)){                  $("label#nameerr").show();                 $(":input.name").focus();                 return false;             }              var email = $(":input.email").val();             if (email == "") {                  $("label#emailerr").show();                 $(":input.email").focus();                 return false;             }               var phone = $(":input.phone").val();             if (phone == "") {                  $("label#phoneerr").show();                 $(":input.phone").focus();                 return false;             }              var comment = $.trim($("#comments").val());             if ((!comment) || (comment.length > 100)) {                  $("label#commenterr").show();                 $("#comments").focus();                 alert("hello");                 return false;             }              var info = 'name:' + name + '&email:' + email + '&phone:' + phone + '&comment:' + comment;             var ajaxurl = '<?php echo admin_url("admin-ajax.php"); ?>';             alert(info);              jquery.ajax({                  type:"post",                 datatype:"json",                 url: myajax.ajaxurl,                 data: {action: 'submit_data', info: info},                 success: function(response) {                     if (response.type == "success") {                          alert("success");                     }                     else {                          alert("fail");                     }                 }             });              $(":input").val('');             return false;           }); 

and here php function ajax posts to:

function submit_data() {      $nameerr = $emailerr = $phoneerr = $commenterr = "";     $full = explode("&", $_post["info"]);     $fname = explode(":", $full[0]);     $name = $fname[1];     $femail = explode(":", $full[1]);     $email = $femail[1];     $fphone = explode(":", $full[2]);     $phone = $fphone[1];     $fcomment = explode(":", $full[3]);     $comment = $fcomment[1];      if ((empty($name)) || (strlen($name) < 4)){          $nameerr = "please enter name";     }     else if (!preg_match("/^[a-za-z ]*$/", $name)) {          $nameerr = "please ensure have entered name , surname";     }       if (empty($email)) {          $emailerr = "please enter email address";     }     else if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) {          $emailerr = "please ensure have entered valid email address";     }       if (empty($phone)) {          $phoneerr = "please enter phone number";     }     else if (!preg_match("/(?:\(?\+\d{2}\)?\s*)?\d+(?:[ -]*\d+)*$/",$phone)) {          $phoneerr = "please ensure have entered valid phone number";     }       if ((empty($nameerr)) && (empty($emailerr)) && (empty($phoneerr)) && (empty($commenterr))) {          $conn = mysqli_connect("localhost", "john", "change9", "plugindatadb");         mysqli_query($conn, "insert data (name, email, phone, comment) values ('$name', '$email', '$phone', '$comment')");     }     else {          // display error messages     }      die(); } 

your answer in 2 parts:

pseudo code:

part1: php

if ($error) {     $reply["status"]=false;     $reply["message"]="fail message"; //here have put own message, maybe use variable validation did before line: $reply["message"] = $fail_message. } else {         $reply["status"]=true;     $reply["message"]="success message"//$reply["message"] = $success_message; }  echo json_encode($reply);//something {"status":true, "message":"success message"} 

part2 ajax: modify ajax response this.

                success: function(response) {                     if (response.status == true) {                          alert("success: "+response.message);                     }                     else {                          alert("fail: " + response.message);                     }                 } 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -