[eluser]Ludwig Wendzich[/eluser]
This is my code for student.php
Code:
<?php
class Student extends Controller {
function Student()
{
parent::Controller();
$this->load->helper('form');
$this->load->library('auth');
$this->output->enable_profiler(TRUE);
}
function index()
{
if($this->auth->logged_in($this->session->userdata('logged_in'))):
$this->load->view('student/already_logged_in');
else:
$this->auth->login();
endif;
}
function register()
{
if($this->auth->logged_in($this->session->userdata('logged_in'))):
$this->load->view('student/already_logged_in');
else:
$this->load->library('validation');
$this->validation->set_error_delimiters('<p class="error">', '</p>');
$rules['password'] = "trim|required|min_length[6]|matches[v_password]|md5";
$rules['v_password'] = "trim|required";
$rules['email'] = "trim|required|valid_email|callback_email_check";
$rules['level'] = "trim|required|numeric";
$rules['firstname'] = "trim|required|alpha";
$rules['lastname'] = "trim|alpha";
$this->validation->set_rules($rules);
$fields['email'] = 'Email';
$fields['password'] = 'Password';
$fields['v_password'] = 'Verify Password';
$fields['level'] = 'NCEA Level';
$fields['firstname'] = 'First Name';
$fields['lastname'] = 'Last Name';
$this->validation->set_fields($fields);
if ($this->validation->run() == FALSE)
{
$this->load->view('student/register');
}
else
{
$data = array(
'email' => $_POST['email'] ,
'firstname' => $_POST['firstname'] ,
'lastname' => $_POST['lastname'] ,
'password' => $_POST['password'] ,
'level' => $_POST['level'],
'ver_num' => md5($_POST['email'])
);
$this->db->insert('users', $data);
$this->load->view('student/registered');
}
endif;
}
function login() {
$this->load->model('student/auth_model');
if(isset($_POST['submit'])){
$email = $_POST['email'];
$password = $_POST['password'];
}
$this->auth_model->login($email,$password);
}
/*function login()
{
$this->load->library('validation');
$this->validation->set_error_delimiters('<p class="error">', '</p>');
$rules['email'] = 'trim|required|valid_email';
$rules['password'] = 'trim|required|md5';
$this->validation->set_rules($rules);
$fields['email'] = 'Email';
$fields['password'] = 'Password';
$this->validation->set_fields($fields);
if($this->validation->run() == FALSE):
$this->load->view('student/login');
else:
$email = $_POST['email'];
$password = $_POST['password'];
//CHECK IF ALREADY LOGGED IN
if($this->session->userdata('email') == $email):
//User is already logged in.
$this->load->view('student/already_logged_in');
return false;
endif;
//QUERY INFO ON EMAIL
$this->db->where('email', $email);
$query = $this->db->getwhere('users');
$row = $query->row();
//CHECK IF VERIFIED
if($row->verified=="no"):
$this->load->view('student/unverified');
else:
//CHECK EMAIL AND PASS
if($password == $row->password):
//Destroy old session
$this->session->sess_destroy();
//Create a fresh, brand new session
$this->session->sess_create();
//Remove the password field
unset($row->password);
//Set session data
$this->session->set_userdata($row);
//Set logged_in to true
$this->session->set_userdata(array('logged_in' => true));
redirect('student', 'location');
else:
$this->load->view('student/failed_login');
endif;
endif;
endif;
}*/
function verify()
{
$data['vn'] = $this->uri->segment(3);
$this->db->where('ver_num', $data['vn']);
$update = array(
'verified' =>'yes'
);
$this->db->update('users', $update);
$this->load->view('student/verify');
}
function logout()
{
$this->session->sess_destroy();
redirect('student/login', 'location');
}
}
?>