0

私は自分のWebアプリのブラウザーバージョンを持っており、いくつかの値をCookieに保存しています。現在、モバイル版を作成していますが、Cookieが機能していないようです。モバイルデバイスでCookieを使用することは可能ですか?

私はこのコードを実行しようとしていますが、私のphpは私に空の値を与えています:

$(document).ready(function() {
    var session_lang= '<?php if(isset($_SESSION['SESS_LANGUAGE']))
                            echo $_SESSION['SESS_LANGUAGE'];?>';
            if (session_lang!='')
            {
                check_and_change(session_lang);   
            }
    });

データを内部メモリに保存してCookieとして機能させる方法は他にありますか?モバイルデバイスはセッション変数をサポートしていますか?私はfirebugを探していますが、セッション変数を作成できることがわかりますが、それを読みたいときはnullです。何が問題になる可能性があり、これをどのように解決するのですか?

編集:私はあなたにほとんどすべてのコードを入れて、あなたが私が何をしているのかを見ることができるようにします...ところで。このコードはPCブラウザで正常に機能しています。

Javascriptファイル:

$(document).ready(function() {

    function languageChange()
    {
         var lang = $('#websites1 option:selected').val();

        return lang;
    }


    $('#websites1').change(function(e) {                    

        var lang = languageChange();

        var dataString = 'lang=' + lang;

        $.ajax({

            type: "POST",
            url: "pass_value.php",
            data: dataString,
            dataType: 'json',
            cache: false,
            success: function(response) {

                    check_and_change(response.message);
                 }
        });

        return false;

    });

} );

    function check_and_change(lang)
     {
            switch (lang)
                         { //do something
                          }
    }

次に、私が上に置いたこの最初の部分は、私が探していて開いている実際のphpサイトにあります。

そして最後はpass_value.phpです:

<?php 
session_start();

$_SESSION['SESS_LANGUAGE'] = $_POST['lang'];

print json_encode(array('message' => $_SESSION['SESS_LANGUAGE']));
die();
?>

このコードが携帯電話で機能しない理由は本当にわかりません。

4

3 に答える 3

6

クッキーは間違いなく モバイルブラウザで機能しますあなたは「私は火の虫を見ている」と言います、それはあなたが実際に電話でそれを見ていないと私に思わせます。

セッションを開始し、エラー報告をオンにしましたか?

于 2012-08-23T12:02:33.790 に答える
0

同様の状況が発生し、タブレットが呼び出しのURLパラメーターで指定したスクリプトを.ajax( )呼び出す前に、実際にindex.phpスクリプトを再度呼び出していることがわかりました。

私の電話も同じです。でセッション変数を初期化したのでindex.php、それらは初期値にリセットされ続けました(ページ間で正しく保存されていないように見えます)。

なぜindex.php再呼び出しされるのかはわかりませんでしたがif !isset( )、初期化ステートメントの周りにチェックを追加すると、それがクリアされました。

于 2014-10-01T09:32:27.217 に答える
-1

Androidでは、「データセーバー」をオンにすると、セッションが事実上破壊されました。ログインが成功すると前のページにリダイレクトするログインスクリプトがあります。データセーバーをオンにするまで機能しました。オフにすると、再び機能するようになりました。Googleは、データセーバーが、HTTPSWebサイトにない私のスクリプトを含むと思われる安全なページに影響を与える可能性があると述べています。

于 2017-05-09T05:52:05.507 に答える