【发布时间】:2015-01-06 17:02:34
【问题描述】:
我的verify_loginscontroller 中有以下方法:
function checkLogInInfo() {
if ($_POST) {
$v = $this->input->post('user_id');
$vldata['password'] = $this->input->post('password');
$query1 = $this->db->query("SELECT e.id FROM user u LEFT JOIN employee e ON u.user_id = e.id WHERE e.emp_id = '$v' ")->result_array();
if (empty($query1)) {
$this->session->set_flashdata('message', 'Invalid ID or Password');
redirect('verify_logins/index');
} else {
$vldata = array();
$vldata['user_id'] = $query1[0]['id'];
$temp = $vldata['user_id'];
$query2 = $this->db->query("SELECT e.emp_name FROM user u LEFT JOIN employee e ON u.user_id = e.id WHERE e.id ='$temp' ")->result_array();
$vldata['user_name'] = $query2[0]['emp_name'];
$this->session->set_userdata($vldata['user_name']);
redirect('admin_logins/index');
}
} else {
redirect('verify_logins/index');
}
}
上述方法检查我的登录数据并登录到我的应用程序的主页。
现在我有了另一个名为 admin_logins 的控制器,方法如下:
public function index() {
$data["message"] = $this->session->flashdata('message');
$data["user_name"] = $this->session->userdata($vldata['user_name']);
$this->load->view('admin_logins/index', $data);
}
上述方法加载我的应用程序的主页。
我正在尝试在主页中加载登录用户的用户名。我正在尝试使用 session 将用户名从控制器 verify_logins() 的方法 checkLogInInfo() 传递给控制器 admin_logins() 的方法 index(),但无法找出正确的方法。我可以猜到我在控制器的index() 方法中有一些语法问题。我需要有关正确语法和方法的帮助。
我试图显示用户名的视图页面部分是:
<p class="f-right">User: <strong><?php if(isset($user_name)){echo "Welcome, ".$user_name;} ?></strong></p>
我得到的错误是:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: vldata
附:我已经在两个控制器中加载了会话库。
【问题讨论】:
标签: php codeigniter session