PHPのプログラムはサーバに常駐するものもありますが、通常想像するものはHTTPリクエストを受けて開始し、レスポンス(HTML)を作って終了します。
だから、javascriptが動いているタイミングではPHPのプログラムは動作しておらず、それが使っていた変数は破棄されているのが普通です。
javascriptからデータをphpに送ることは可能です。
PHPはそのデータを受け取ると同時に起動してプログラムが開始し、データを受け取って新規変数に格納します。例えばAjaxを用いなくても次のようにすればphpに値を渡す事ができます。
javascript
1var group = 2;
2location.href = "http://hoge.jp/index.php?group="+group;
でもこれだと今度はjavascript側が終了して、ページはPHPからの戻り値でリロードされます。
javascriptを生かしたままphpにデータを送って処理をさせ、リターン値を再び受け取ってと、javascript側は継続させる方法がAjaxです。
facebookなんかで、ページ下部までスクロールすると、ページのリロード無しに次の記事が表示されるのは
スクロールの位置をトリガーにjavascriptがajaxでサーバに通信し、新しい記事を受け取っているためです。
このときも、「何番目まで表示しているからそれ以降の記事がほしい」って要求を伝える変数データををサーバプログラムに送信しているはずです。
javascriptからのajax通信ならこのへん
jQueryなんかのライブラリを使うなら関連メソッドのリファレンスを見ればいいと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/01/18 11:39