Panta Posted April 15, 2017 Share Posted April 15, 2017 i have a working registration form, but when i try to add a new form field "linked" it dosent send data to database. but when i remove it then it works fine. these are my codes <form name="register" id="registerForm" novalidate> <div class="form-group"> <label for="exampleInputEmail1">First name</label> <input type="text" class="form-control" id="firstname" name="txtfullname" placeholder="First name" required data-validation-required-message="Please enter your First name."> <p class="help-block text-danger"></p> </div> <div class="form-group"> <label for="exampleInputEmail1">Last name</label> <input type="text" class="form-control" id="lastname" name="txtfullname" placeholder="Last name" required data-validation-required-message="Please enter your Last name."> <p class="help-block text-danger"></p> </div> <div class="form-group"> <label for="exampleInputEmail1">Last name</label> <input type="text" class="form-control" id="linked" name="txtfullname" placeholder="Last name" required data-validation-required-message="Please enter your Last name."> <p class="help-block text-danger"></p> </div> <div class="form-group"> <label for="exampleInputEmail1">Email address</label> <div class="input-group date"> <div class="input-group-addon"> <i class="fa fa-envelope"></i> </div> <input type="email" class="form-control" name="txtemail" id="email" placeholder="Enter email" required data-validation-required-message="Please enter your Email."> </div> <p class="help-block text-danger"></p> </div> <div class="form-group"> <label>Phone Number</label> <div class="input-group date"> <div class="input-group-addon"> <i class="fa fa-phone"></i> </div> <input type="tel" class="form-control pull-right" id="phone" name="txtbdate" placeholder="Enter email" required data-validation-required-message="Please enter your Phone number."> </div> <p class="help-block text-danger"></p> </div> <div class="form-group"> <label>Gender</label> <select class="form-control" id="gender" required data-validation-required-message="Please enter your Gender."> <option value=""></option> <option>Male</option> <option>Female</option> </select> <p class="help-block text-danger"></p> </div> <div class="form-group"> <label>Bank</label> <select class="form-control" id="bankname" required data-validation-required-message="Please enter your Phone Bank."> <option value="" ></option> <option value="Access Bank Plc" >Access Bank Plc</option> <option value="Diamond Bank Limited">Diamond Bank Limited</option> <option value="Ecobank Nigeria Plc">Ecobank Nigeria Plc</option> <option value="Equitorial Trust Bank Limited" >Equitorial Trust Bank Limited</option> <option value="Fidelity Bank Plc">Fidelity Bank Plc</option> <option value="First Bank of Nigeria Plc.">First Bank of Nigeria Plc.</option> <option value="First City Monument Bank Ltd." >First City Monument Bank Ltd.</option> <option value="Guaranty Trust Bank Plc.">Guaranty Trust Bank Plc.</option> <option value="Intercontinental Bank Ltd.">Intercontinental Bank Ltd.</option> <option value="StanbicIBTC Bank" >StanbicIBTC Bank</option> <option value="Standard Chartered Bank Nigeria Ltd">Standard Chartered Bank Nigeria Ltd</option> <option value="Sterling Bank Plc">Sterling Bank Plc</option> <option value="Union Bank of Nigeria Plc." >Union Bank of Nigeria Plc.</option> <option value="United Bank for Africa Plc.">United Bank for Africa Plc.</option> <option value="Unity Bank">Unity Bank</option> <option value="Wema Bank Plc." >Wema Bank Plc.</option> <option value="Zenith International Bank Ltd.">Zenith International Bank Ltd.</option> </select> <p class="help-block text-danger"></p> </div> <div class="form-group"> <label for="exampleInputEmail1">Account name</label> <input type="text" class="form-control" id="accountname" placeholder="Account name" required data-validation-required-message="Please enter your account name."> <p class="help-block text-danger"></p> </div> <div class="form-group"> <label for="exampleInputEmail1">Account number</label> <input type="tel" class="form-control" id="accountnumber" placeholder="Account number" required data-validation-required-message="Please enter your account number."> <p class="help-block text-danger"></p> </div> <div class="form-group"> <label for="exampleInputEmail1">Present Address</label> <input type="text" class="form-control" id="address" placeholder="Present Address" required data-validation-required-message="Please enter your address."> <p class="help-block text-danger"></p> </div> <div class="clearfix"></div> <div class="col-lg-12 text-center"> <div id="success"></div> <button type="submit" class="btn btn-primary">Register</button> </div> </form> $(function() { $("#registerForm").find("input,textarea,select").jqBootstrapValidation({ preventSubmit: true, submitError: function($form, event, errors) { // additional error messages or events }, submitSuccess: function($form, event) { event.preventDefault(); // prevent default submit behaviour // get values from FORM var firstname = $("input#firstname").val(); var lastname = $("input#lastname").val(); var linked = $("input#linked").val(); var email = $("input#email").val(); var phone = $("input#phone").val(); var gender = $("select#gender").val(); var accountname = $("input#accountname").val(); var accountnumber = $("input#accountnumber").val(); var address = $("input#address").val(); var bankname = $("select#bankname").val(); var namenow = firstname; // For Success/Failure Message // Check for white space in name for Success/Fail message if (namenow.indexOf(' ') >= 0) { namenow = firstname.split(' ').slice(0, -1).join(' '); } $.ajax({ url: "././member/register.php", type: "POST", data: { firstname: firstname, lastname: lastname, linked: linked, email: email, phone: phone, gender: gender, bankname: bankname, accountnumber: accountnumber, accountname: accountname, address: address }, cache: false, success: function() { // Success message $('#success').html("<div class='alert alert-success'>"); $('#success > .alert-success').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×") .append("</button>"); $('#success > .alert-success') .append("<strong>Your Registeration is successful. Check your email/spam to validate. </strong>"); $('#success > .alert-success') .append('</div>'); //clear all fields $('#registerForm').trigger("reset"); }, error: function() { // Fail message $('#success').html("<div class='alert alert-danger'>"); $('#success > .alert-danger').html("<button type='button' class='close' data-dismiss='alert' aria-hidden='true'>×") .append("</button>"); $('#success > .alert-danger').append("<strong>Sorry " + namenow + ", it seems that my mail server is not responding. Please try again later!"); $('#success > .alert-danger').append('</div>'); //clear all fields $('#registerForm').trigger("reset"); }, }) }, filter: function() { return $(this).is(":visible"); }, }); $("a[data-toggle=\"tab\"]").click(function(e) { e.preventDefault(); $(this).tab("show"); }); }); /*When clicking on Full hide fail/success boxes */ $('#firstname').focus(function() { $('#success').html(''); }); <?php session_start(); //start the session for the page date_default_timezone_set("Africa/Lagos"); include("../include/db.php"); //include database file include("../include/settings.php"); //include configuration file //Check if page was entered by a submit button $firstname=$_POST['firstname']; //Get username !!FROM FORM!! $firstname = ereg_replace(" ", "", $firstname); //take away all spaces from username (if any) !!FROM FORM!! $lastname=$_POST['lastname']; //Get name $linked=$_POST['linked']; //Get name $email=$_POST['email']; //Get email !!FROM FORM!! $email = ereg_replace(" ", "", $email); //take away all spaces from email (if any) !!FROM FORM!! $phone=$_POST['phone']; //Get email $gender=$_POST['gender']; //Get email $bankname=$_POST['bankname']; //Get email $accountname=$_POST['accountname']; //Get email $accountnumber=$_POST['accountnumber']; //Get email $address=$_POST['address']; //Get email $joined=date("Y-m-d H:i:s"); //check to see if the username or email allready excists $ck=$flash->prepare("SELECT * FROM `user` WHERE `email`=:email"); //get rows where the username or email address is allready registered $ck->bindParam(':email',$email); $ck->execute(); //if email address allready excists if($ck->rowCount() > 0){ //tell the user echo "The email you selected ($email) has all ready been registered! Please press back and choose another"; include("loginform.php"); die(); } //IF THE USER GOT TO HERE, THEN HES FILLED OUT ALL THE FORMS, THE PASSWORDS MATCH, AND ENTERED A VALID USERNAME AND EMAIL, SO CREATE THE ACCOUNT //add account to DB srand ((double) microtime( )*1000000); $random=rand(10000,100000000); //check to see if admin has enabled email confirmation if ($_emailconfirmation == "1"){ //add the info to the database $reg = $flash->prepare("INSERT INTO `user` ( email , firstname , lastname ,referral, bank , bank_account_name , bank_account_number, phone , gender ,address , token, joined) VALUES (:email, :firstname, :lastname, :linked, :bankname, :accountname,:accountnumber,:phone,:gender,:address, :random , :joined )"); $reg->bindParam(':email',$email); $reg->bindParam(':firstname',$firstname); $reg->bindParam(':lastname',$lastname); $reg->bindParam(':linked',$linked); $reg->bindParam(':bankname',$bankname); $reg->bindParam(':accountname',$accountname); $reg->bindParam(':accountnumber',$accountnumber); $reg->bindParam(':phone',$phone); $reg->bindParam(':gender',$gender); $reg->bindParam(':address',$address); $reg->bindParam(':random',$random); $reg->bindParam(':joined',$joined); if($reg->execute()){ $to = "$email"; $subject = "Email Confirmation"; $body = "Thankyou for registering! you will now need to visit: $_sitelink/member/verifyaccount.php?actkeycode=$random&email=$email"; //send confirmation email to the user to activate their account via a link mail($to, $subject, $body, "From: $_replyemail"); //let them know it went well die("Welcome $username! You have registered successfully!<br>An email has been sent to the registered email with a link you need to vist it activate your account!"); } } include("loginform.php"); ?> Link to comment Share on other sites More sharing options...
Panta Posted April 15, 2017 Author Share Posted April 15, 2017 fixed Link to comment Share on other sites More sharing options...
dsonesuk Posted April 15, 2017 Share Posted April 15, 2017 You have 3 inputs for first name, last name, and linked using the same value for name attribute 'txtfullname' it should be different for for each. Link to comment Share on other sites More sharing options...
Panta Posted April 15, 2017 Author Share Posted April 15, 2017 1 minute ago, dsonesuk said: You have 3 inputs for first name, last name, and linked using the same value for name attribute 'txtfullname' it should be different for for each. Thanks but i have fixed it. i am using ID not name, the problem was that i did not clear cacher . i did that and it started working fine. Thanks for looking into the script Link to comment Share on other sites More sharing options...
iwato Posted April 15, 2017 Share Posted April 15, 2017 (edited) <input type="text" class="form-control" id="linked" name="txtfullname" placeholder="Last name" required data-validation-required-message="Please enter your Last name."> The highlighted word should be the value used for the name of your $_POST variable, not linked, for it is this variable -- namely, txtfullname -- that carries the text of your <input> element's textfield to the $_POST variable when you submit the form. Edited April 15, 2017 by iwato Link to comment Share on other sites More sharing options...
dsonesuk Posted April 16, 2017 Share Posted April 16, 2017 (edited) Hes not submitting the form as $_POST by hitting submit button, but as ajax post request, where he retrieves values by id to send through ajax using correct $_post names, even though input attribute names are wrong! it will still work. It will however only work if JavaScript is enabled, and what worries me is i see no sanitizing of values passed by php, someone could add with JavaScript disabled a action to register.php and submit dangerous code. Edited April 16, 2017 by dsonesuk Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now