当我尝试获取它说它未定义的值时,变量中出现错误 虽然我已经存储了变量"$level"的会话并将其发送到视图,但变量的条件变得未定义,代码有什么问题吗?
我得到的变量来自登录名。我也尝试打电话给$level,它可以工作
我尝试使用 foreach 和非 foreach 方法,但这些方法都不起作用
查看.php
<?php if($level->level == '1') ?>
<p>Number 1</p>
<?php if($level->level == '2') ?>
<p>Number 2</p>
管理员.php
function index(){
$level = $this->session->userdata('level');
$this->load->view('view',$level);
}
登录.php
public function do_login()
{
$u = $this->input->post("user");
$p = md5($this->input->post("pass"));
$cari = $this->model_pesawat->cek_login($u, $p)->row();
$hitung = $this->model_pesawat->cek_login($u, $p)->num_rows();
if ($hitung > 0) {
$data = array('admin_id' => $cari->no_user ,
'admin_user' => $cari->username,
'admin_nama' => $cari->nama,
'level' => $cari->level,
'admin_valid' => TRUE
);
$this->session->set_userdata($data);
redirect('admin','refresh');
}else{
echo "maaf username atau password salah";
}
}
我想要结果if语句将根据用户$level在视图中显示不同的值
您需要将数组传递给 CodeIginter 视图。
数组的键将用作视图中的单个元素。
它类似于 extract(( 函数。
因此,您应该传递$data
并向其添加$level
。
$data['level'] = $level;
$this->load->view('view', $data);
在您看来,您可以$level
从控制器访问$level
。
无需照顾$data
视图中可以直接使用会话变量,无需从控制器传递
<p>Number 1</p>
<?php if($this->session->userdata('level') == '2') ?>
<p>Number 2</p>
您应该检查会话中的数据,无论它是否被存储。
echo "<pre>"; print_r($this->session->userdata());