0

我设计了一个系统来通过 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,而用户实际上并不是新用户。

你知道哪里出错了吗?

4

0 回答 0