0

コードのどこが悪いのかデバッグできません。これが私がしていることです:

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>
4

1 に答える 1

0

PHPバージョンを5.3にアップグレードしたところ、問題は解決しました。

于 2013-01-03T13:58:20.180 に答える