コードのどこが悪いのかデバッグできません。これが私がしていることです:
Ajaxクエリの場合、セッション変数sessiontokenを設定し、以下に示すように、リクエストが正しいセッション/ページからのものであることを確認するためにエンコードおよびデコードします。以下のコードがすべてのページに存在します。次に、JavaScriptでこの変数をエコーします。そしてajax呼び出しで使用します:
私の問題は、スクリプトがローカルサーバー(xampp)のすべてのページで完全に正常に機能しているのに、ライブサーバーでは問題が発生していることです。ライブサイトにログインすると、ホームページでデコードされた値がjavascript関数に正しく表示されますが、myprofileへのリンクをクリックするか、他のページに移動すると、デコードされたセッショントークン値に奇妙な文字が表示されます。ローカルでは問題なく動作しているので、何が問題になる可能性があるかを教えてください。ありがとう。
<?php
session_start();
if(!(isset($_SESSION['id']) && isset($_SESSION['username']))) {
header("location: index.php");
exit();
}
if(!isset($_SESSION['sessiontoken'])) {
$thisRandNum = rand(999999,99999999);
$_SESSION['sessiontoken'] = base64_encode($thisRandNum);
} else {
$thisRandNum = base64_decode($_SESSION['sessiontoken']);
}
?>
<html>
<head>
<script type="text/javascript">
function refreshWall() {
$.post('scripts/refreshlist.php', {thistoken: <?php echo $thisRandNum ?>},
function(data) {
}, "json");
}
</script>
</head>
<body>
</body>
</html>