zoukankan      html  css  js  c++  java
  • PHP练习项目笔记之COOKIES

    主要是在登录和退出的时候,设置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>
  • 相关阅读:
    T3054 高精度练习-文件操作 codevs
    0812—①
    T1553 互斥的数 codevs
    T1229 数字游戏 codevs
    T3187 队列练习3 codevs
    Android NDK工程的编译和链接以及使用gdb进行调试
    PE文件附加数据感染之Worm.Win32.Agent.ayd病毒分析
    PE文件加节感染之Win32.Loader.bx.V病毒分析
    Android动态调试so库JNI_Onload函数-----基于IDA实现
    android在JNI_OnLoad入口函数下断点动态调试so库
  • 原文地址:https://www.cnblogs.com/Rollins/p/4675711.html
Copyright © 2011-2022 走看看