如果Cookie被浏览器会话禁用弗成。
最常见的情形是手机浏览器。默认情形下,手机浏览器Cookie已禁用。
但是Session和Cookie是强有力的共同关联。由于利用cookie值做事器可以调用哪个用户正在要求。
办理方案:
为了使办理方案可以理解,我已经制作了三个php文件。
play.php
play2.php
play3.php
创建会话
<?PHP
//play.php
在session_start();
?>
<form action =“play2.php”method =“post”>
<input type = text name =“name”>
<input type = hidden value = <?php echo(session_name());?> name =“session_name”>
<input type = hidden value = <?php echo(session_id());?> name =“session_id”>
<input type = submit>
</ FORM>
在play.php会话中已经创建
创建会话名称和id后存储在隐蔽字段中。
存储两个隐蔽字段是不必要的。必要的部分是session_id()。还有一个文本字段,将通过play2.php在会话中存储
//保存在play.php中创建的会话中的文本
<?PHP
//play2.php
$ _COOKIE [$ _ POST [ '会话名称']] = $ _ POST [ 'SESSION_ID'];
在session_start();
$ _SESSION [ 'MYNAME'] = $ _ POST [ '名称'];
?>
一些信息
点击
点击
<a href=\公众play3.php?session_name=<?php echo (session_name());?>&session_id = <?php echo(session_id());?>“>转到下一页</>
这是魔术开始
有趣的是session_start()函数从$ _SESSION ['PHPSESSID']获取会话ID 。我们做的是创建一个cookie名称PHPSESSID并存储POST数据中的会话值。之后,我们调用了session_stat()函数。接下来的事情是从文本字段到会话的值。
//从保存在play2.php中的会话规复值
<?PHP
//play3.php
$ _COOKIE [$ _ GET [ '会话名称']] = $ _ GET [ 'SESSION_ID'];
在session_start();
echo $ _SESSION ['myname'];
?>
Play3.php只显示会话值,会话是从GET数据 创建的