少し前にこの質問を投稿しました。私はその質問を約1週間機能したAJAXスクリプトで更新しました。基本的にsession_start()
はAJAXスクリプトから使用でき、必要なセッション変数にアクセスできます。
本当に不思議ですが、週末を過ぎて入ってきたので、今朝はこのスクリプトが機能しなくなりました。ここでは非常に簡単です。
<?php
session_start();
$ajax_connection = mysql_connect('10.X.X.X',$_SESSION['username'],$_SESSION['password']);
$result_set = array();
while ($result_set[] = mysql_fetch_assoc($results)){
// do nothing
}
echo json_encode($results);
?>
先週、これは問題なく機能しましたが、エラーログUndefined index: username
にUndefined index: password
警告が表示されます。そしてもちろん、MySQL接続は確立されていません。したがって、このスクリプトは元の接続と同じセッションを実行していません。以前error_log(session_id())
は親ページとAJAXスクリプトのIDをチェックしていましたが、それらが十分に異なっていることを確認しました。ページをリロードして再試行すると、ページとAJAXスクリプトのIDはそれぞれ同じままですが、2つの異なるIDではなく、同じIDである必要があります。
とにかく、1週間以上うまく機能した後、なぜこれが機能しなくなるのか、誰かが知っていますか?