PHP 用COOKIE实现记住上一次登陆的数据

来源:互联网 发布:h5 js老虎机抽奖特效 编辑:程序博客网 时间:2024/06/05 07:02

这里以记住登录时的驾校名为例

实现效果如下:

                    

实现过程如下:

单选框:  <p align='right'> 记住驾校 <input type="checkbox" name="remember" /></p>

其余对cookie的代码,均在后台方法里:

具体方法如下:

1)其中登陆按键的方法对cookie的部分

//判断cookie是否为空,不为空则将其显示在第一位 

  $remember = I('remember');//接收checkbox的值

    $jxID = $_POST['jxID'];//接收下拉框的值

    $schoolname = M('Schoolinfo')->where(array('SchoolID' => $jxID))->getField('Schoolname');

    if ($remember) {//判断是否记住驾校

           setcookie("sname", $schoolname);//记住则设置cookie

           setcookie("sid", $jxID);

    } 

else {//未记住则清空cookie

     setcookie("sname", NULL);

        setcookie("sid", NULL);

    }

2)Index 页面的默认方法,主要用来显示数据库中取出的数据:

//cookie不为空的时候,将页面下拉框第一个值置为保存的cookie

//并将cookie值原来的位置换为现下拉框第一个值

 public function index() {

       header('Content-Type:text/html;charset=utf-8');//设置页面编码为UTF-8

        $type = M('schoolinfo');//设置数据表

        $arr = $type->select();//取出数据表中所有数据

        if (!empty($_COOKIE["sname"])) {//判断cookie的值是否为空

            $vo1 = array("SchoolID" => $_COOKIE["sid"]);

            $id = ($type->where($vo1)->getField("ID")) - 1;

            $arr[$id]['Schoolname'] = $arr[0]['Schoolname'];

            $arr[$id]['SchoolID'] = $arr[0]['SchoolID'];

            $arr[0]['Schoolname'] = $_COOKIE["sname"];

            $arr[0]['SchoolID'] = $_COOKIE["sid"];

        }

        if ($arr) {

            $this->assign('type', $arr);//volist赋值处理

            $this->display(index);//显示index.html

        } else

            echo "error";

    }

0 0
原创粉丝点击