• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:jqueryの$.ajaxでPHPに値を渡したい)

jqueryの$.ajaxでPHPに値を渡す方法とは?

このQ&Aのポイント
  • jqueryの$.ajax関数を使って、ajaxでPHPに値を渡す方法を紹介します。
  • ブラウザのCookieを無効にした場合において、JavascriptとPHP間のセッションが切断されるかどうかについても検証しました。
  • 詳しい方にご教授いただければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • 1minn
  • ベストアンサー率57% (52/90)
回答No.4

> クッキーが使えない環境の場合はURLでセッションIDを受け渡す仕組みの筈ですが、 そんな仕組みはないです。 iniの指定で初めて有効になりますが、画面上に見えてしまうのはよろしくないですね。 <input type="hidden" name="<?php echo session_name(); ?>" value="<?php echo session_id(); ?>" /> <script> function POSTするイベント() { data { 'PHPSESSID' : $("#PHPSESSID").val(), 'check' : check } ・・・ } </script> 的な感じはだめですかね? 他の方もおっしゃっているように > session_use_cookiesもsession_use_only_cookiesもOnになっています。 これではcookieにセッションを書き込もうとしますので、ブラウザがcookieを拒否すれば動かないのは当然の結果になります。 余談ですが・・・ if ($_POST) {  じゃなくて if (isset($_POST['check'])) { かな?

tomatocot
質問者

お礼

クッキー無効状態ではやはり動作しなかったため、諦める事にしました。 ご回答ありがとうございました。 大変参考になりました。

その他の回答 (3)

  • LancerVII
  • ベストアンサー率51% (1060/2054)
回答No.3

こんにちは。 試してはいないのですが、URLにではなくパラメータに含めてみてはいかがでしょうか。 checkとPHPSESSIDを送信する感じです。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.2

>session_use_only_cookiesもOnになっています。 であれば、セッションIDがURLパラメータでは引き渡されないですよね。その状態でCookieが使えなければセッションの利用は無理です。 http://www.php.net/manual/ja/session.idpassing.php

tomatocot
質問者

お礼

さっき試してみたので補足事項となりですが、 $.ajax({ type:"POST", url:"test.php?<?=SID?>", (略) とした所、何とかソース上はセッションIDをURLの末尾に付けられましたが、 test.phpに値が渡されていないのは同様でした。 (クッキーを有効にすると渡される) Jqueryのajaxでは、クッキー無効の環境でのセッションやり取り自体が出来ないのでしょうか。

tomatocot
質問者

補足

session.use_only_cookiesを0、session.use_trans_sidを1に設定してみましたが、 セッション渡しが出来ていない様です。

回答No.1

>しかし、ブラウザのCookieを無効(ブロック)に設定した場合のみ、$_SESSION["data"]の中には なに当たり前の事言っているの? セッションってクッキー(セッションID保持のため)使っているの知らないの?

tomatocot
質問者

補足

知っています。 クッキーが使えない環境の場合はURLでセッションIDを受け渡す仕組みの筈ですが、 session.use_only_cookiesを0、session.use_trans_sidを1に設定してみても、セッション渡しが出来ていない様です。

関連するQ&A