Home > Backend Development > PHP Tutorial > session,cookie共用,session丢失之有关问题,1周了

session,cookie共用,session丢失之有关问题,1周了

WBOY
Release: 2016-06-13 13:35:22
Original
774 people have browsed it

session,cookie共用,session丢失之问题,1周了。
cookie只保存了一个自动登录。
session,是存着所在导般栏名子,(中英名系统)。共有近30个。如:

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->$session['userInfo']='用户中心';
Copy after login

所有session都在head.php中,被所有文件来引用。
部分代码如下:
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php if(($_POST['admin_user']!="")&&($_POST['admin_pass']!=""))
{
    require_once("image/conn.php");
    
    $number=(get_magic_quotes_gpc())?trim($_POST['admin_user']):addslashes(trim($_POST['admin_user']));
    $pass=(get_magic_quotes_gpc())?trim($_POST['admin_pass']):addslashes(trim($_POST['admin_pass']));
    
    $q=$m->query("select authority from setting_user where number='".$number."' and password='".$pass."'");
    $r=$q->fetch_array(MYSQLI_USE_RESULT);
    (int)$authority=$r['authority'];//权限分配
    
    if($q->num_rows>0){
        //分配显示名
        $qShow=$m->query("select * from setting_display where user='".$number."' order by id desc limit 1");
        $rShow=$qShow->fetch_array(MYSQLI_USE_RESULT);{
            $_SESSION['receiving']=$rShow['receiving']?$rShow['receiving']:NULL;
            $_SESSION['po']=$rShow['po']?$rShow['po']:NULL;
                        // 很多session 在这里


            
            if($_POST['remeberMe']){
            setcookie("u",$number,time()+3600);
            setcookie("p",$pass,time()+3600);
            }
        }
        $_SESSION['auth']=$number;

        switch($authority){

            case 1:echo "<script>window.location.href='main.php?o=show';</script>";$_SESSION['admin']=1;break;
            default:echo "<script>window.location.href='main.php?o=show';</script>";$_SESSION['admin']=NULL;break;
            }
    }
    else{
            echo "<script language="javascript">alert('用户名或密码输入错误!');</script>"; 
        }
}
?>
Copy after login



每个页面,都加了,
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><?php session_set_cookie_params('3600');session_start(); ?>
Copy after login


这些session是从数据里取的,但是为什么,使用不到80秒,就会出现乱的名子,由汉字(正确)变化,数字与字母的。


------解决方案--------------------
出现乱的名子?

页面的编码是否一致?
------解决方案--------------------
中间是不是改动了session或者cookies的值。是不是session_set_cookie_params的原因
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template