![](/img/trans.png)
[英]how can I validate property before send my data to database im new on codeigniter
[英]How can I access data in my database? - CodeIgniter
我正在使用CodeIgniter并具有登录系统。 我对php还是很陌生,我想知道一旦用户登录,我如何访问他/她的数据以在整个站点中使用? 现在,我试图让它说“欢迎”“用户名”,但我不知道变量来自何处以及如何使用它们。 现在在我的home_view.php中,我有:
<div class="main">
<h2>Welcome <?php echo $username; ?>!</h2>
</div>
它引发此错误:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: username
Filename: views/home_view.php
Line Number: 22
有人可以告诉我该怎么做吗?
问题:如何访问已登录用户的数据以在整个站点中使用?
登录的用户特定数据通常存储在会话中。 对于codeigniter,您可以使用$this->session->userdata('item');
访问会话数据$this->session->userdata('item');
,例如$this->session->userdata('username');
。
但是,如果您使用的是特定的登录系统, 则取决于您使用的登录系统 。
自定义登录系统
从登录表单接收登录信息后,使用以下命令将数据传递到会话:
$newdata = array(
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
然后使用以下名称引用用户名:
$this->session->userdata('username');
请参阅Codeigniter文档中的添加自定义会话数据 。
登录系统示例
流行的codeigntier身份验证库是Tank-Auth 。
使用Tank-Auth时,在用户登录后,可以调用$this->tank_auth->get_username()
( $this->ci->session->userdata('username')
,调用$this->ci->session->userdata('username')
) 。 然后可以将其存储并传递到视图。
在Tank-Auth中,您将看到:
应用/控制器/的welcome.php
$data['user_id'] = $this->tank_auth->get_user_id();
$data['username'] = $this->tank_auth->get_username();
$this->load->view('welcome', $data);
应用/视图/的welcome.php
Hi, <strong><?php echo $username; ?></strong>! You are logged in now.
好的,当用户登录后,您需要存储他或她的数据进行会话。 当您验证用户获取他或她的数据并将其存储在会话中时。
$data = array(
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
);
$this->session->set_userdata('logged_info', $data );
然后你可以在任何地方得到它
$userdata = $this->session->userdata('logged_info');
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.