我设计了一个系统来通过 javascript 获取一些用户数据(屏幕分辨率等)。在 HTML 文件中,通过 javascript,屏幕分辨率将通过获取 url(图像)的参数发送到服务器。问题是当从服务器请求图像时,将创建一个新的会话实例,而我希望获取图像的会话与父页面的会话相同。拜托,如果你知道我该如何解决这个问题。非常感谢。
我使用的代码如下:
我在所有网页中都放了一个 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,而用户实际上并不是新用户。
你知道哪里出错了吗?