2011-01-20 20 views
1

ドロップダウンボックスからオプションを変更すると、セッション変数を更新/作成しようとしています。値はjavascript関数に格納されます。 any1は、AJAXリクエストを使わずにこの変数をPHPセッション変数に渡す方法を教えてくれますか? ありがとうJavaScript変数をPHPに渡すセッション変数

+0

私はこの問題で個人的にレベル9のjqueryをキャストします。 – goat

答えて

3

いいえajax? OK、

var img = new Image(); 
img.src = "script.php?myVal=" + encodeURIComponent(theValueToPass); 

ブラウザはURLを要求することによってイメージを読み込もうとします。明らかにそれは愚かな使い方になりますが、あなたのPHPスクリプトは実行され、値はPHPで利用可能になります$_GET['myVal']

+0

すてきな回避策。 –

0

本当にできません。

セッションデータはサーバーで変更されますが、Javascriptではクライアント側のデータ(Cookieなど)のみを変更できます。しかし、GET/POSTリクエスト内で変数を渡し、セッションを変更する新しいPHPページを作成することで、ソリューションを作成することができます。

0

私が考えることのできる唯一の選択肢は、javascriptを使用して、後でPHPで解釈できるURLのパラメータを設定することですが、別のページが読み込まれた後になります。

http://www.mine.com/index.html?paramter=variable&anotherparam=anothervariable 

この

編集をachiveする方法のためthis postを参照してください。私は、これは何を後に考え直し上achiveうとは思わないが、私はただで-場合

+0

Thnxたくさんの4つのurの答え。しかし、URL dereは問題です。実際にドロップダウンボックスからオプションを選択すると、URL全体が複数のAJAXリクエストを使用していて、URLが更新されないページを更新せずに更新されます。私と一緒に残った唯一のオプションはAJAXのリクエストだと思う。 – Himanshu

0
答えを残しておきます

PHPのセッション変数はサーバー上に存在する:

http://www.w3schools.com/PHP/php_sessions.asp

が、JavaScriptの値はクライアント側にあります。

ajaxを使用しない場合、これをサーバーに送信するメカニズムが必要です。この値を隠しフィールドに保存し、通常のget/postを使用して送信してみてください。

2

私は、あなたのJavaScriptでクッキーの値を追加して、それを行うことができますし、そのクッキーの値を参照して、次のページのリファレンスでPHPであなたのセッションを更新することができます。

私はそれを試していないし、クライアント側からセッションをjavascriptで更新できる方法はないと思います。

ありがとう

関連する問題