Jump to content

Others working but just 1


Panta

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");
?>

 

Link to comment
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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...