在这里,我根据在登录表单中输入的用户名和密码传递用户相关数据,如用户名和总分。我在这里使用ion-auth来验证用户输入的散列密码。 在视图中接收和查看用户详细信息时,我面临以下错误。 (将用户数据从数据库通过模型传递给控制器,最后传递给视图时出现问题) 请指导我通过正确的道路,因为我是codeigniter和ion-auth的新手。 错误:
**Message: Undefined index: fname
Filename: views/members_area.php**
我的Membership_model和验证功能:
function validate()
{
$un=$this->input->post('username');
$pw=$this->input->post('password');
$this->db->where('username', $un);
$query=$this->db->get('users');
if($query->num_rows() > 0)
{
$this->load->ion_auth_model;
$password_match=$this->ion_auth_model->hash_password_db($query->id,$pw);
if($password_match !== FALSE)
{
foreach($query->result() as $rows)
{
$results[]= array(
'first_name' => $rows->first_name,
'phone' => $rows->phone,
'total_points' => $rows->total_points,
);
}
return $results;
}
}
else return false;
从模型中收到的$结果由登录控制器收到:
public function validate_credentials()
{
$this->load->model('Membership_model');
$query['result']=$this->Membership_model->validate();
if($query) //if user credentials validated
{
$this->load->view('members_area',$query);
}
else
{
echo "Login credentials doesn't match";
}
}
这是我在视图中遇到问题的地方(members_area):
<?php
if(!empty($result))
{
foreach ($result as $key) {
# code...
$_SESSION['fname'] = $key['first_name'];
$_SESSION['total_points']=$key['total_points'];
$_SESSION['phone']=$key['phone'];
}
}
?>
<!DOCTYPE html>
<html>
<body>
<div id='game_zone'>
<?php echo "<h1>Welcome ".$_SESSION['fname']."</h1>"; ?>
<?php echo "<p>Your total points is <strong>".$_SESSION['total_points']."</strong></p>"; ?>
</body>
</html>