【发布时间】:2013-12-31 03:17:22
【问题描述】:
请注意我已经解决了我自己的问题
您好,我正在使用 CodeIgniter,我已启用会话在数据库中正常工作,但是当单击注销时,它会转到注销页面 bur 显示错误。我如何解决它。我正在使用坦克身份验证。
错误示例:
A PHP Error was encountered
Severity: Notice
Message: Undefined index: session_id ,ip_address, user_agent, last_activity
Filename: libraries/Session.php
Line Number: 272
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/cws01/public_html/*****/system/core/Exceptions.php:185)
Filename: libraries/Session.php
Line Number: 675
Severity: Warning
Message: Cannot modify header information - headers already sent by (output started at /home/cws01/public_html/****/system/core/Exceptions.php:185)
Filename: helpers/url_helper.php
Line Number: 542
<-- User.php -->
/**
* Logout user
*
* @return void
*/
function logout()
{
$this->tank_auth->logout();
$this->_show_message($this->lang->line('auth_message_logged_out'));
redirect('user/login');
}
<-- Config.php -->
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
<-- Header View.php -->
<?php if($this->tank_auth->is_logged_in()): ?>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> <?php echo $this->tank_auth->get_username() ?><b class="caret"></b></a>
<ul class="dropdown-menu">
<li><?php echo anchor('user/settings', 'settings') ?></li>
<li><?php echo anchor('user/logout', 'log out'); ?></li>
</ul>
</li>
<?php else: ?>
<li class="dropdown">
<a href="" class="dropdown-toggle" data-toggle="dropdown">Sign in <b class="caret"></b></a>
<ul class="dropdown-menu" style="padding: 15px;min-width: 250px;">
<li>
<div class="row">
<div class="col-md-12">
<form class="" accept-charset="utf-8" action="<?php echo base_url('user/login');?>" method="post" role="form">
<div class="form-group">
<label for="login">Email</label>
<input id="login" class="form-control" type="text" size="30" maxlength="80" placeholder="Email Or Username" value="" name="login">
</div>
<div class="form-group errors">
</div>
<div class="form-group">
<label for="password">Password</label>
<input id="password" class="form-control" type="password" size="30" placeholder="Password" value="" name="password">
</div>
<div class="form-group errors">
</div>
<div class="form-group ">
<label for="remember">
<input id="remember" type="checkbox" value="1" name="remember">
Remember me
</label>
</div>
<div class="form-group">
<div class="login-links">
<a href="<?php echo base_url('account/user/forgot_password');?>" role="button" class="btn btn-primary">Forgot Password</a>
<a href="<?php echo base_url('account/user/register');?>" role="button" class="btn btn-primary">Register</a>
</div>
</div>
<input class="btn btn-default" type="submit" value="Sign In" role="button">
</form>
</div>
</div>
</li>
</ul>
</li>
<li><?php echo anchor('user/register', 'Register'); ?></li>
<?php endif; ?>
</ul>
请注意我已经解决了我自己的问题
【问题讨论】:
-
您可以在下面发布答案,而不是简单地说您已修复它,以便此问题+答案可能对正在搜索的其他人有用吗?或者如果您认为它没有用,请删除它。
-
我真的不知道我做了什么,我只是移动了一些我正在自学的文件。我已将 tank auth 放入 hmvc 格式 $config['sess_encrypt_cookie'] = FALSE;我想我把这个设置为 true 似乎在刷新页面后可以工作
-
在 autoload.php 文件中搜索 $autoload['libraries'] = array('database', 'session'),在数组中插入 session 关键字。如果您解决了问题,请告诉我。
标签: php codeigniter session tankauth