[eluser]pickupman[/eluser]
You appear you may have a few issues going on. Try to keep your model functions to only be doing db stuff. Leave the redirects and such out. It will help you later on. Here is a sample of revising some of your code. Hopefully this will help out some. Be sure to check out the user guide and read about the MVC structure. I regret not reading the guide as thoroughly when I first started. It made it a pain to go back and update some of the code.
Code:
//Login Controller
function index(){
if ($this->session->userdata('logged_in') == TRUE)
{
redirect('addressbook/index'); //You are already logged in
}
//Set up form validation / required fields
$this->load->library('form_validation');
$this->form_validation->set_rules('username','username','required|trim');
$this->form_validation->set_rules('password','password','required|trim');
//Create form data with repopulating fields
$data['username'] = array('id' => 'username', 'name' => 'username', 'value' => set_value('username'));
$data['password'] = array('id' => 'password', 'name' => 'password', 'value' => set_value('password'));
if($this->form_validation->run()){
//Check submitted login
$user = $this->address_model->validate($this->input->post('username'),$this->input->post('password'));
if(!$user) //user failed try again
redirect('login/index','refresh');
//Otherwise send user to address book
redirect('addressbox/index','refresh');
}else{
//Display login form to user
$this->load->view('login',$data);
}
}
//Addressbook Controller
function index(){
if ($this->session->userdata('logged_in') != TRUE)
{
redirect('login/index'); //You are not already logged in
}
$data['c'] = $this->address_model->index_get();
$this->load->view('addressbook',$data);
}
//Model
function validate($username1,$password1)
{
$query = $this->db->get_where('addressbook', array('email' => $username1,'password1'=>$password1));// change db to addressbook
if($query->num_rows() > 0){
$row = $query->row(0); //Set data from first row retrieved
$data = array('username' => $row->username1,
'logged_in' => TRUE,
'flag' => TRUE);
$this->session->set_userdata($data);
$this->session->set_flashdata('message','You have sucessfully logged in.');
return TRUE;
}
return FALSE;
}
//Login Form
<?php echo $this->load->view('header');?>
<?php echo form_open('login/index') . ā\nā; ?>
<div id="message"><?php echo $this->session->flashdata('message'); ?></div>
<label for="username">Username: </label><?php echo form_input($username); ?>
<label for="password">Password: </label><?php echo form_password($password); ?>
<input type="submit" value="Submit" /></p>
<?php echo anchor('addressbook','Back'); ?>
<?php echo form_close(); ?>