我的index.php文件我有类似的东西:
<?php
session_start();
$_SESSION[some_value] = 1;
?>
<img src="image.php" alt="some image"/>
<?php
$_SESSION[some_value] = 0;
?>
我的image.php文件我看起来像(基本代码):
<?php
session_start();
header("Content-Type: image/png");
$im = @imagecreate(400, 20)
or die("Cannot Initialize new GD image stream");
$background_color = imagecolorallocate($im, 255, 255, 255);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,"session value is : {$_SESSION[some_value]}", $text_color);
imagepng($im);
imagedestroy($im);
?>
现在,当我在浏览器中加载index.php页面时,图片中的值为session value is : 0
,如何使其显示1,然后在index.php
中设置代码以将其设置为0(添加将值设置为0的image.php
代码不是我正在寻找的内容)
答案 0 :(得分:0)
您遇到了问题,因为在您的代码中,即使两个脚本都使用$_SESSION
数组,这两个脚本也不会共享会话内存。
这取决于PHP如何以及何时存储$_SESSION
数组的值。
相反,您需要一个共享存储,如数据库或共享内存,以在脚本之间交换值。
答案 1 :(得分:-1)
问题是浏览器在 index.php 加载后加载 image.php 。
您可以这样做:
<img src="image.php?some_value=<?php echo $_SESSION[some_value]; ?>" alt="some image"/>
但这取决于你的特定目的。