ホームページ >バックエンド開発 >PHPチュートリアル >session,cookie共用,session丢失之有关问题,1周了

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

WBOY
WBOYオリジナル
2016-06-13 10:17:53768ブラウズ

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

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->$session['userInfo']='用户中心';

所有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>";         }}?>



每个页面,都加了,
PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><?php session_set_cookie_params('3600');session_start(); ?>


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


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

页面的编码是否一致?
------解决方案--------------------
中间是不是改动了session或者cookies的值。是不是session_set_cookie_params的原因
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。