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
Post a Comment