1

ajaxでphpセッションを設定したいと思います。session.php にセッションを設定する関数があります。

public static function set($key, $value) {  
    $_SESSION[$key] = $value;
}

JavaScript アラートを確認しました。[はい] をクリックすると、セッションを設定します。セッションを簡単に設定するにはどうすればよいですか?

編集16.4.2012 15:31 GMT:+1

David: 答えてくれてありがとう。私はそれを試しましたが、私のPCでは何もしません。だから私は持っています:a.php

<script src="http://code.jquery.com/jquery-latest.js"></script>
<p>I would like to say: </p>
<script>
    $("p").append("<strong>Hello</strong>"); //check jquery is working 
    $.get('a.php', function(data) {
        // do something on success?
    });
</script>

b.php (同フォルダ内)

<script type="text/javascript">
    alert('aaa');
</script>
<?php
echo "print by b.php";
?>

ブラウザで a.php を実行します

4

1 に答える 1

2

(すでに持っているコードを使用して)値を設定するだけの単純なPHPページを作成し、jQueryにそのページを呼び出させることができます。

$.get('setsessionvalue.php', function(data) {
  // do something on success?
});

展開する場合は、クエリ文字列に値を渡すことで、呼び出しをより一般的にすることができます。

$.get('setsessionvalue.php?key=someKey&value=someValue', function(data) {
  // do something on success?
});

$_GET次に、他のページと同じように、サーバー上のコレクションからこれらのクエリ文字列値を取得します。

サーバー側のコードの観点からは、他のページと同じです。UIをレンダリングする必要はありません(必要に応じてデータをレンダリングできます。おそらくJSON形式で最も簡単です)。JavaScriptコードは、他のページと同じようにそのページを呼び出しています。

もちろん、ユーザーが必要に応じてこのページを手動で呼び出すことができることは注目に値します。したがって、これをセッション値の「セキュリティ」として使用しないでください。ユーザーがURLにアクセスした場合:

setsessionvalue.php?key=someKey&value=someValue

そうすれば、セッション値を手動で設定できるようになります。すでに設定した値(JavaScriptコードで確認できます)をオーバーライドすることもできます。セッション値の構造(特にそれらのキー)をそのようなクライアント側のコードに公開するのは特に快適ではありません。あなたのサイトにいくつかのセキュリティホールがあることから少し離れているようです。

于 2012-04-16T11:07:17.587 に答える