CodeIgniter Forums
undefined shal in controller???????????? - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: Archived Discussions (https://forum.codeigniter.com/forum-20.html)
+--- Forum: Archived Development & Programming (https://forum.codeigniter.com/forum-23.html)
+--- Thread: undefined shal in controller???????????? (/thread-48171.html)



undefined shal in controller???????????? - El Forum - 01-06-2012

[eluser]Unknown[/eluser]
i am getting the following error Fatal error: Call to undefined function shal() in
public_html/application/controllers/account.php on line 50

can anyone help and tell me what im missing because of this is stopping my login script.

thanks in advance.



<?php

class Account extends CI_Controller

{
function __construct()
{
parent::__construct();
$this->load->library (array('form_validation', 'session'));
$this->load->helper(array('url', 'form'));
$this->load->model('account_model');

$this->_salt = '123456789987654321';
}
//This is the index function for logging into the dashboard
function index ()
{
if ($this->account_model->logged_in() ===TRUE)
{
$this->dashboard(TRUE);
}
else
{
$this->load->view('account/details');
}
}
//This is the dashboard area.
function dashboard($condition = FALSE)
{
if ($condition ===TRUE OR $this->account_model->logged_in() ===TRUE)
{
$this->load->view('account/dashboard');
}
else
{
$this->load->view('account/details');
}
}
//This is the code for validating the login.
function login()
{
$this->form_validation->
set_rules('username', 'Username',
'xss_clean|required|callback_username_check');
$this->form_validation->
set_rules ('password', 'Password',
'xss_clean|required|min_length[4]|max_length[12]|
shal|callback_password_check');

$this->_username = $this->input->post('username');
$this->_password =
shal($this->_salt . $this->input->post('password'));
{
if ($this->form_validation->run() ==FALSE)
{
$this->load->view('account/login');
}
else {
$this->account_model->login();

$data ['message'] =
"You are logged in"
. anchor('account/dashboard', 'Dashboard');
$this->load->view('account/success', $data);
}
}
//This is for new users to register account.
function register()
{
$this->form_validation->
set_rules('username', 'Username', 'xss_clean|required');

$this->form_validation->
set_rules('email', 'Email Address',
'xss_clean|required|valid_email|callback_email_exists');

$this->form_validation->set_rules('password', 'Password', 'xss_clean|required|min_length[4]|max_length[12]|matches[password_conf]
|shal');

$this->form_validation->
set_rules('password_conf', 'Password Confirmation',
'xss_clean|required|matches[password]|shal');

if ($this->form_validation->run() == FALSE)
{
$this->load->view('account/register');
}
else {
$data['username'] = $this->input->post('username');
$data['email'] = $this->input->post('email');
$data['password'] =
shal($this->_salt . $this->input->post('password'));

if ($this->account_model->create($data) ===TRUE)
{
$data['message'] =
"The user account has been successfully created "
. anchor ('account/login', 'here') . ".";
$this->load->view('account/success', $data) ;
}
else {
$data['$error'] =
"There was a problem when creating your account.";
$this->load->view('account/error', $data);
}
}
}
//This is to successfully logout.
function logout()
{
$this->session->sess_destroy();
$this->load->view('account/logout');
}

function password_check()
{

$this->db->where('username', $this->_username);
$query = $this->db->get('users');
$result = $query->row_array();
if ($result['password'] == $this->_password);
{
return TRUE;
}

if ($query->num_rows() == 0)
{
$this->form_validation->
set_message('password_check', ' There was an error!');
return FALSE;
}

}
//This is to see if a user is already registered.
function user_exists($user)
{
$query = $this->db->get_where('users', array('username' => $user));

if ($query->num_rows() > 0 )
{
$this->form_validation->
set_message ('user_exists',
'The %s already registered.');
return FALSE;
}

$query->free_result();

return TRUE;
}

function email_exists($email)
{
$query = $this->db->get_where('users', array('email' => $email));

if ($query->num_rows() > 0)
{
$this->form_validation->
set_message ('email_exists',
'the %s is already registered.');
return FALSE;
}

$query->free_result();

return TRUE;
}
}
}

?>