同一ファイルで同じようにしてみた所先にphpが実行されてしまうので変数を使用した処理が出来ませんでした。
何かいい方法はありませんか?
**同一ファイルで複数の機能(応答内容)**を実装する場合、「掲示板サンプル」が参考になるはずです。
いずれのサンプルも
- PHP処理
1.1. 要求データを受け取る(php変数に格納)
1.2. 切り分け処理
2. HTMLの応答内容(タグにphp変数を埋め込んでいる)
となって、同一ファイルを使いまわす実装になっているはずです。
ご質問の例)順番を比べてみてください。
- HTMLの応答内容(
<script>
のみの例示)
- PHP処理(要求に関係なく、応答用のJS変数値を受け取ろうとしている)
jsの変数をajaxで別ファイルに送信しphpの変数に格納→その変数で処理なら出来ました。
一般に「送信」と言われる処理ですが、技術的には「ブラウザはサーバー(php)に処理を要求している」と考えます。
JavaScriptの変数値は パラメータ指定してPHPに要求したときに限り、PHP変数に格納できます。
- URLパラメータに渡してPHP(サーバーアプリ)にGET要求 ->
$_SERVER["QUERY_STRING"]
- フォーム送信してPHP(サーバーアプリ)にPOST要求 ->
$_POST[ _any_key_ ]
- Ajax は上記の方法をJavaScriptで動的に行うものです(成功しているようですので割愛)。