主要是在登錄和退出的時候,設置cookies。來保存登錄和安全退出
1:在登錄頁面設置
//設置cookies的值
_setcookies($_rows['tg_username'], $_rows['tg_uniqid'],$_clean['time']);
_location(null,'index.php');
第二步:生成cookie,
/** * _setcookies * @param unknown $_username * @param unknown $_uniqid */ function _setcookies($_username,$_uniqid,$_time){ setcookie('username',$_username); setcookie('uniqid',$_uniqid); switch ($_time) { case '0' : // 設置浏覽器進程 setcookie ( 'username', $_username ); setcookie ( 'uniqid', $_uniqid ); break; case '1' : // 一天的進程 setcookie ( 'username', $_username, $_time () + 86400 ); setcookie ( 'uniqid', $_uniqid, $_time () + 86400 ); break; case '2' : // 一周的進程 setcookie ( 'username', $_username, $_time () + 604800 ); setcookie ( 'uniqid', $_uniqid, $_time () + 604800 ); break; case '0' : // 一個月的進程 setcookie ( 'username', $_username, $_time () + 2592000 ); setcookie ( 'uniqid', $_uniqid, $_time () + 2592000 ); break; } }
第三步:登錄狀態中設置
//登錄的情況,就是防止登陸後通過在浏覽器中直接連接再次登錄 function _login_state(){ if (!isset($_COOKIE['username'])) { _alert_back("登錄狀態無法就行本操作!"); } }
//刪除cookies function _unsetcookies(){ setcookie('username','',time()-1); setcookie('uniqid','',time()-1); _session_destroy();//刪除session _location(null,'index.php'); //做跳轉 }
第四步在登錄頁面和退出頁面加上
//登錄狀態 _login_state();
顯示數據的二個方法:在數據配置文件中配置,我的是mysql.func.php
/** * _fetch_array 只能獲取一條數據組 * @param $_sql */ function _fetch_array($_sql) { return mysql_fetch_array(_query($_sql),MYSQL_ASSOC); } /** * _fetch_array_list可以返回指定數據集的所有數據 * @param unknown $_result * @return multitype: */ function _fetch_array_list($_result){ return mysql_fetch_array($_result,MYSQL_ASSOC); }
最後在頁面中賦值
//從數據庫裡提取數據獲取結果集 //我們必須每次重新讀取結果集,而不是從新去執行SQL語句。 $_result = _query("SELECT tg_username,tg_sex,tg_face FROM tg_user ORDER BY tg_reg_time DESC"); <?php while (!!$_rows = _fetch_array_list($_result)) {?> <dl> <dd class="user"><?php echo $_rows['tg_username']?><?php echo $_rows['tg_sex']?></dd> <dt><img src="<?php echo $_rows['tg_face']?>" alt="" /></dt>