jQueryを使用してPHP $ _SESSION変数を設定する必要があります。ユーザーがイメージをクリックした場合、そのイメージに関連する情報をPHPのセッション変数として保存します。
私はこれを行うには、PHPページまたは関数を呼び出して、その情報をクエリ文字列に追加することができます。
アイデア私はgoogleを通して少しの助けを見つけた。
おかげ マイク
jQueryを使用してPHP $ _SESSION変数を設定する必要があります。ユーザーがイメージをクリックした場合、そのイメージに関連する情報をPHPのセッション変数として保存します。
私はこれを行うには、PHPページまたは関数を呼び出して、その情報をクエリ文字列に追加することができます。
アイデア私はgoogleを通して少しの助けを見つけた。
おかげ マイク
jQueryだけでは実行できません。 Ajax(これはjQueryでできます)とPHPバックエンドの組み合わせが必要です。非常に単純なバージョンは、次のようになります。
HTML:
<img class="foo" src="img.jpg" />
<img class="foo" src="img2.jpg" />
<img class="foo" src="img3.jpg" />
Javascriptを:
$("img.foo").onclick(function()
{
// Get the src of the image
var src = $(this).attr("src");
// Send Ajax request to backend.php, with src set as "img" in the POST data
$.post("/backend.php", {"img": src});
});
PHP(backend.php):
<?php
// do any authentication first, then add POST variable to session
$_SESSION['imgsrc'] = $_POST['img'];
?>
は別のPHPページにPHPの機能を入れて試してみたい、と変数を設定するには、AJAX呼び出しを使用する場合があります。
あなたが探しているものはjQuery Ajaxです。そして、リクエストを処理するPHPページを設定するだけです。
ここでの回答の多くは、方法の問題に対処するものではありません。 PHP $ _SESSIONのキーと値のペアがサーバーに格納されます。これは、ブラウザに保存されているCookieとは異なります。このため、PHPとJavaScriptの両方からクッキー内の値にアクセスすることができます。 さらに悪いことに、ブラウザからのAJAXリクエストには、Webサイトに設定したCookieは含まれていません。そのため、JavaScriptがセッションIDのCookieを取得し、サーバーがそのヘッダーやテールを作成できるようにするために、すべてのAJAXリクエストにJavaScriptを含める必要があります。 PHPセッションは、HTTPヘッダーとともにクッキーが送信されないと、HTTP GETまたはPOST変数にフェイルオーバーするように設計されています。 私は、RESTfulなWebアプリケーションの原則と、セッションハンドラを利用するのではなく、そのような種類のアプリケーションに共通するデザインパターンの使用法について検討します。 (backend.php)を含むことを確認することで
私も(ルカデニスのソリューションに似ています。ここでは大したことない)自分で「PHPのセッション値設定」ソリューションを設計し、私のセッション値を設定した後、私のニーズは "でした別の.phpファイルにジャンプ "します。
あなた-afterの上に「$ .post」自分の価値観:私の問題は一種の簡単だった[OK]を、私は私のjqueryのコード内で、それをやった...しかし、何かはかなり仕事しませんでした...
小さな.phpファイルでは、 "成功/失敗"の戻り値を待つ必要があります。この成功値を読み込んだ後でジャンプを実行してください。あなたはただすぐ次のビッグに飛び乗る。PHPセッションファイルに設定されていない可能性があり、$ _SESSION ["my_var"]を実行しているときにおそらく "空"と表示されます。宛先.phpファイルから取得します。私の場合は
、その状況を修正するために、私はjQueryの$ .postのコードを変更し、この方法:もちろん
$.post('set_session_value.php', { key: 'keyname', value: 'myvalue'}, function(ret){
if(ret==0){
window.alert("success!");
location.replace("next_page.php");
}
else{
window.alert("error!");
}
});
、あなたの「set_session_value.php」ファイル、エコー」 『0』を返す必要があります。 'または' echo "1"; '(またはあなたが必要とするかもしれない成功値)
ご挨拶。
ルークの答えに似ていますが、GETに似ています。
このphp-codeをphp-pageに置きます。 getpage.php:
<?php
$_SESSION['size'] = $_GET['size'];
?>
次に、このようなjQueryのスクリプトでそれを呼び出す:
$.get("/getpage.php?size=1");
フェデリコに同意します。場合によっては、POSTを使用して問題に遭遇することもありますが、ブラウザーに関連するかどうかは不明です。
javascriptの部分でonClick()をclick()に変更すると、firefoxで動作します。
$("img.foo").click(function()
{
// Get the src of the image
var src = $(this).attr("src");
// Send Ajax request to backend.php, with src set as "img" in the POST data
$.post("/backend.php", {"img": src});
});
欠落のsession_start();それ以外のバックエンドでは、これは素晴らしいヒントです!おかげでルーク... – Codex73