1

Post variable is received at controller.

View: loginhome.php

<?php
//-----------------------------------------------------------------------------
// Including Header 
//-----------------------------------------------------------------------------
$base = dirname(__FILE__);
include($base . '/header.php');
?>
<div class="login-wrap">
 <div class="login-html">
 <input id="tab-1" type="radio" name="tab" class="sign-in" checked><label for="tab-1" class="tab">Sign In</label>
 <input id="tab-2" type="radio" name="tab" class="sign-up"><label for="tab-2" class="tab">Sign Up</label>
 <div class="login-form">
 <div class="sign-in-htm">
 <?php
$attributes = array(
 'name' => 'login_form',
 'id' => 'login_form',
 'method' => 'POST'
);
echo form_open('VerifyLogin', $attributes);
?>
 <div class="group">
 <label for="user" class="label">Username</label>
 <?php
$data = array(
 'name' => 'user',
 'id' => 'user',
 'class' => 'input'
);
echo form_input($data);
?>
 </div>
 <div class="group">
 <label for="pass" class="label">Password</label>
 <?php
$data = array(
 'name' => 'pass',
 'id' => 'pass',
 'class' => 'input'
);
echo form_password($data);
?>
 </div>
 <div class="group">
 <input id="check" type="checkbox" class="check" checked>
 <label for="check"><span class="icon"></span> Keep me Signed in here</label>
 </div>
 <div class="group">
 <?php
$data = array(
 'name' => 'SignIn',
 'id' => 'SignIn',
 'value' => 'Sign In',
 'class' => 'button'
);
echo form_submit($data);
//echo anchor('forgotpassword', 'Forgot Password???', 'class="link-class"');
?>
 </div>
<?php
echo form_close();
?>
 <div class="hr"></div>
 <div class="foot-lnk">
 <a href="#forgot">Forgot Password?</a>
 </div>
 </div>
 <?php
$attributes = array(
 'name' => 'sign-up_form',
 'id' => 'sign-up_form',
 'method' => 'GET'
);
echo form_open('RegisterUser', $attributes);
?>
 <div class="sign-up-htm">
 <div class="group">
 <label for="user" class="label">Name</label>
 <?php
$data = array(
 'id' => 'name',
 'type' => 'text',
 'class' => 'input'
);
echo form_input($data);
?>
 </div>
 <div class="group">
 <label for="user" class="label">Username</label>
 <?php
$data = array(
 'id' => 'username',
 'type' => 'text',
 'class' => 'input'
);
echo form_input($data);
?>
 </div>
 <div class="group">
 <label for="pass" class="label">Password</label>
 <?php
$data = array(
 'id' => 'password',
 'type' => 'password',
 'class' => 'input'
);
echo form_password($data);
?>
 </div>
 <div class="group">
 <label for="pass" class="label">Repeat Password</label>
 <?php
$data = array(
 'id' => 'password',
 'type' => 'password',
 'class' => 'input'
);
echo form_password($data);
?>
 </div>
 <div class="group">
 <label for="pass" class="label">Email Address</label>
 <?php
$data = array(
 'id' => 'email',
 'type' => 'text',
 'class' => 'input'
);
echo form_input($data);
?></div>
 <div class="group">
 <?php
$data = array(
 'id' => 'submitButton',
 'type' => 'submit',
 'value' => 'request',
 'class' => 'button'
);
echo form_submit($data);
//echo form_close();
?>
 </div>
 <div class="hr"></div>
 <div class="foot-lnk">
 <label for="tab-1"><a href='#Already'>Already Member?</a></label>
 </div>
 </div>
 <?php
echo form_close();
?>
 </div>
</div>
<?php
//-----------------------------------------------------------------------------
// Including Footer 
//-----------------------------------------------------------------------------
$base = dirname(__FILE__);
include($base . '/footer.php');
?>

The Controller: RegisterUser.php

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class RegisterUser extends CI_Controller {
 function __construct()
 {
 parent::__construct();
 $this->load->model('InsertUser','',TRUE);
 }
 function index()
 {
 echo 'Hello World123';
 //This method will have the credentials validation
 $this->load->library('form_validation');
 $name = $this->input->post('name');
 $username = $this->input->post('username');
 $password = $this->input->post('password');
 $email = $this->input->post('email');
 echo 'User name: '.$username.'Password: '.$password;
/*
 $this->form_validation->set_rules('name', 'Name', 'required');
 $this->form_validation->set_rules('username', 'User Name', 'required');
 $this->form_validation->set_rules('password', 'Password', 'required');
 $this->form_validation->set_rules('email', 'E-Mail', 'required');
 //$this->form_validation->set_rules('password', 'Password', 'trim|required|xss_clean|callback_check_database');
 if($this->form_validation->run() == FALSE)
 {
 //Field validation failed. User redirected to login page
 echo 'Something is not in format';
 $this->load->view('loginhome');
 }
 else
 {
 //Go to private area
 $this->insert_database();
 redirect('home', 'refresh');
 }*/
 //$this->insert_database();
 echo 'This is it';
 }
 function insert_database()
 {
 //Field validation succeeded. Validate against database
 $name = $this->input->post('name');
 $username = $this->input->post('username');
 $password = $this->input->post('password');
 $email = $this->input->post('email');
 echo $username.$password;
 //query the database
 $result = $this->InsertUser->form_insert($name,$username, $password,$email);
 echo 'Inserted';
 if($result)
 {
 $sess_array = array();
 foreach($result as $row)
 {
 $sess_array = array(
 'id' => $row->user_id,
 'username' => $row->user_name
 );
 $this->session->set_userdata('logged_in', $sess_array);
 echo 'logged-in';
 }
 return TRUE;
 }
 else
 {
 $this->form_validation->set_message('check_database', 'Invalid username or password');
 echo 'log-in failed';
 return false;
 }
 }
}
?>

Even if you change Post to get then also there is no change in http request query.

The sign-in module is working fine but signup is not working.

Cœur
39k25 gold badges207 silver badges282 bronze badges
asked Feb 7, 2017 at 15:48

1 Answer 1

3

Change Method GET to POST

 <?php
$attributes = array(
 'name' => 'sign-up_form',
 'id' => 'sign-up_form',
 'method' => 'POST'
);

And

Foreach your field add name attribute like this..

$data = array(
 'name'=>'name',
 'id' => 'name',
 'type' => 'text',
 'class' => 'input'
);

And

$data = array(
 'name' => 'username'
 'id' => 'username',
 'type' => 'text',
 'class' => 'input'
);

And so on... for sign-up form.

Then you can get your fields based on name using $this->input->post('name');

answered Feb 7, 2017 at 15:56
Sign up to request clarification or add additional context in comments.

2 Comments

Thank you @Hek mat. What is the difference between id and name? Just for my reference.
Form are always posted based on field names.you can use id for javascript validation or defining css.

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.