会话ID PHP更改?
好的,这就是我要做的。 (我忘了放置重定向按钮,但你明白了) 关于test1.php会话ID PHP更改?,php,session,Php,Session,好的,这就是我要做的。 (我忘了放置重定向按钮,但你明白了) 关于test1.php <?php session_start(); echo session_id(); //prints 5e28459b687847200537d1acd5ee880f $_SESSION['test']=1; echo $_SESSION['test']; // prints 1 ?> 关于test2.php <?php session_start
<?php
session_start();
echo session_id(); //prints 5e28459b687847200537d1acd5ee880f
$_SESSION['test']=1;
echo $_SESSION['test']; // prints 1
?>
关于test2.php
<?php
session_start();
echo session_id(); //print nothing
echo $_SESSION['test']; // prints 1
?>
问题来了:
<?php session_start(); ?>
<html>
<?php echo session_id(); //prints 5e28459b687847200537d1acd5ee880f5e28459b687847200537d1acd5ee880f(yes it duplicates)
echo $_SESSION['test'] // prints none
?>
</html>
我一直在试图解决这个问题,因为我无法将变量传递到第3页左右,尝试搜索时发现没有变量或类似的变量,但不完全相同,并尝试了那些不起作用的变量,所以我最后问大家。将以下行放入php.ini中:
session.auto_start = on
或者将其放入apache虚拟站点配置或.htaccess文件:
<IfModule mod_php5.c>
php_flag session.auto_start on
</IfModule>
php_标志session.auto_启动时间
我不明白您的简单示例如何产生您所描述的输出。听起来你已经将问题缩小到了相关组件(好东西),但是你可能删除了太多。我的主要问题是会话id发生了变化,我猜这与我的会话变量没有被传递有关。会话id唯一可以改变的方法是:1。您自己用会话id()
更改了它。2.您使用会话\u重新生成\u id()
对其进行了更改。3.您更改了PHPSESSID cookie。4.你破坏了会话,PHP启动了一个新的会话。所有这些问题的答案都是否定的,我试图弄明白为什么即使是echo会话,你发布的3个文件也不可能完成你描述的任务。请随意创建一个可复制的示例,以便我们其他人可以按照您描述的如何自动启动会话进行操作。这对他的会话id问题有什么帮助?我注意到一个php.ini配置设置,它会使php在每次请求时自动启动会话。这是将会话_start()放在每个页面上的另一种选择…他在每个文件的顶部都有会话_start()。我们只是在发布关于会话使用的随机提示吗?