jquery - Ajax Form inserts data twice in database php mysql -


the scenario

i have html form (index.php) submits data using ajax external file (register.php) parsing job , inserts data mysql table.

the problem

when form submitted, inserts data twice in database. searched everywhere not find solution.

here code:

index.php (form):

<form name="register" id="register" class="col-md-12 form-horizontal" role="form" onsubmit="submitform(); return false;"> <div class="form-group">     <label for="regname" class="control-label"  >name:*</label>     <input name="regname" type="text" class="form-control" id="regname" placeholder="please provide name"> </div> <div class="form-group">     <label for="regmobile" class="control-label">mobile no.:*</label>     <input name="regmobile" type="text" class="form-control" id="regmobile" placeholder="your mobile number"> </div> <div class="form-group">     <label for="regvillage" class="control-label">village/city:*</label>     <input name="regvillage" type="text" class="form-control" id="regvillage" placeholder="your village name"> </div> <div class="form-group">     <label for="regdistrict" class="control-label">district:*</label>     <select name="regdistrict" id="regdistrict" class="form-control" data-allow-clear="true" data-placeholder="select district" style="width:100%">     <option value="">please select</option>     <option value="ahmedabad">ahmedabad</option>     <option value="amreli">amreli</option>     <option value="anand">anand</option>     </select> </div> <div class="form-group">     <hr>     <span id="status"></span></br>     <button type="submit" name="submitbtn" id="submitbtn" class="pull-right btn btn-primary">register</button> </div> </form> 

index.php (ajax)

<script> function _(id){ return document.getelementbyid(id); } function submitform(){ _("submitbtn").disabled = true; _("status").innerhtml = 'please wait ...'; var formdata = new formdata(); formdata.append( "regname", _("regname").value ); formdata.append( "regmobile", _("regmobile").value ); formdata.append( "regvillage", _("regvillage").value ); formdata.append( "regdistrict", _("regdistrict").value ); var ajax = new xmlhttprequest(); ajax.open( "post", "register.php" ); ajax.onreadystatechange = function() {     if(ajax.readystate == 4 && ajax.status == 200) {         if(ajax.responsetext == "success"){             _("register").innerhtml = '<h4>thanks '+_("regname").value+', registration complete.</h4>';         } else {             _("status").innerhtml = ajax.responsetext;             _("submitbtn").disabled = false;         }     } } ajax.send( formdata ); } </script> 

register.php

<?php  require_once('caligrodb.php'); ?> //database connection config file <?php  if (isset($_post['regname']) && isset($_post['regmobile']) && isset($_post['regvillage']) && isset($_post['regdistrict'])){     $regname = mysql_real_escape_string($_post['regname']);     $regmobile = mysql_real_escape_string($_post['regmobile']);     $regvillage = mysql_real_escape_string($_post['regvillage']);     $regdistrict = mysql_real_escape_string($_post['regdistrict']);      mysql_select_db($database_caligrodb, $caligrodb);     mysql_query("insert contacts(contactname, contactno, contactvillage, contactdistrict, subscribed) values ('$regname', '$regmobile', '$regvillage', '$regdistrict', '1')");      echo "success"; } else {     echo"kindly fill form & submit data!"; }; ?> 

can me in find whats wrong code?

i found mistake:

the onsubmit="submitform(); return false; applied form tag. removed there , instead added onclick="submitform(); returnfalse; submit button.

now working expacted.


Comments