I am working on session data where the email is loaded automatically when user enters new record in grocery crud table. On the top of page , the name /email of current user can be displayed by using (in view folder)
<?php echo $user->email;?>
However , when I tried using $user->email in the GC controller , it gives me errors even after assigning to a variable. Also tried changing the model by using set_userdata but still wouldnt work. The code is as follows
Error
Message: Undefined variable: user
Message: Trying to get property of non-object
Model
public function takeUser($username, $password)
{
$this->db->select('*');
$this->db->from('user');
$this->db->where('username', $username);
$this->db->where('password', $password);
$query = $this->db->get();
return $query->num_rows();
}
public function userData($username)
{
$this->db->select('username');
$this->db->select('name');
$this->db->select('email');
$this->db->where('username', $username);
$query = $this->db->get('user');
return $query->row();
}
Controller
public function program()
{
if($this->session->userdata('isLogin') == FALSE)
{
redirect('login/login_form');
}
else
{
$this->load->model('m_login');
$user = $this->session->userdata('username');
$data['level'] = $this->session->userdata('level');
$data['user'] = $this->m_login->userData($user);
}
$crud = new grocery_CRUD();
$crud->set_table('program');
$crud>columns('nama_program','kod_program','kos_program','rmk','rollingplan','user','email');
$crud>field_type('nama_program','kod_program','kos_program','rmk','rollingplan','user','email');
$crud>set_relation('rollingplan','rollingplan','nama_rollingplan');
$crud->callback_field('user',array($this,'user_field'));
$crud->callback_field('email',array($this,'email_field'));
$crud->set_subject('Program Baru');
$crud->required_fields('nama_program');
$output = $crud->render();
$this->_example_output_prog($output);
}
function user_field($value = '', $primary_key = null)
{
return '<input type="text" maxlength="50" readonly="readonly" value="'.$this->session->userdata('username').'" name="user" style="width:462px">';
}
function email_field($value = '', $primary_key = null)
{
$mail=$user->email;
return '<input type="text" maxlength="50" readonly="readonly" value="'.$mail.'" name="email" style="width:462px">';
}