|
我在CI下做的一个网站,用cookie实现,在一分钟之内如果第二次或以上登录,不必转到登录画面,直接到欢迎画面,就和很多论坛的记录访问周期功能一样。其中欢迎画面的代码如下
welcome.php
<?php
if( ! isset($_COOKIE["name"] )) { //第一次登录成功转到欢迎画面时,“name”cookie为空,所以以登录的username设cookie,时 间60秒
setcookie("name",$_POST["username"],time()+60);
}
?>
<html>
<body>
。。。
。。。
</body>
</html>
我60秒内再次访问主页Index.php,Index里判断cookie始终认为没有名为“name”的cookie。代码如下
index.php
<?php
class Index extends CI_Controller {
public function display() {
if( ! isset($_COOKIE['name'] )) { //始终走这个分支,所以还转到登录画面
if (!file_exists('application/views/login.php')) {
show_404();
}
$this->load->view('login');
}else { //正常应该走这个分支,到欢迎画面
if ( ! file_exists('application/views/welcome.php' )) {
show_404();
}
$this->load->view('welcome');
}
}
}
?>
经过调试,welcome.php里的setcookie没设上,代码有问题么?现在我是在CI框架下跑的。之前没用CI时,单独的PHP这个功能是好使的,cookie部分的代码直接移植过来,没改啊,高手指教,谢谢
|
|