Jump to content
Panta

Others working but just 1

Recommended Posts

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'>&times;")
                        .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'>&times;")
                        .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");
?>

 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
<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 by iwato

Share this post


Link to post
Share on other sites

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 by dsonesuk

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...