PHP で画像ファイルを開く操作は、新しいセッションで行われます。この動作を防ぐにはどうすればよいですか?
画面解像度を取得するために、すべての Web ページに 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();
これで、javascript によってトリガーされたときに、 そのユーザーの画面解像度が同じユーザーの変数にgetresolutionpic.php
格納されます。$_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 が作成されることです。
どこが間違っているのか分かりますか?