天天看點

PHP 用COOKIE實作記住上一次登陸的資料

這裡以記住登入時的駕校名為例

實作效果如下:

PHP 用COOKIE實作記住上一次登陸的資料
PHP 用COOKIE實作記住上一次登陸的資料

實作過程如下:

單選框:  <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";

    }