使用 php 打开图片文件是在新会话中完成的,如何防止这种行为?
我在所有网页中都放了一个 javascript 以获得屏幕分辨率。这是javascript代码:
<script language="JavaScript">
document.getElementById("mypictureid").src="http://www.mywebsite.com/getresolutionpic.php?w="+screen.width+"&h="+screen.height;
</script>
页面的html包括:
<img id="mypictureid" src="http://mywebsite.com/otherimage.gif"
并且将在每个页面加载时执行以下 php 代码,以将用户数据存储在 $_SESSION 中。
$some_name = session_name("generalvisit");
session_start();
$_SESSION['entertime']=new DateTime();
并跟踪用户,由 mysql 数据库创建用户 ID 并存储在 $_SESSION['userid']
if(!is_numeric($_SESSION['userid']) $_SESSION['userid']=getNewUserID();
现在,当 getresolutionpic.php
由javascript触发时,将该用户的屏幕分辨率存储在$_SESSION
同一用户的变量中。在getresolutionpic.php
我们有:
$some_name = session_name("generalvisit");
session_start();
if(!is_numeric($_SESSION['userid'])
{
$_SESSION['userid']=getNewUserID();
$_SESSION['entertime']=new DateTime();
}
$_SESSION['width']=$_GET['w'];
$_SESSION['height']=$_GET['h'];
问题是当 getresolutionpic.php 被调用时,$_SESSION['userid']
它是空的,并且将创建一个新的用户 ID,而用户实际上并不是新用户。
你知道哪里出错了吗?