可能性のある複製:
JavaScript変数をPHPに渡す方法
最初にJavaScriptをPHPに変換する必要があると考えていましたが、サーバー側とクライアント側の実行のためにできないことがわかりました。だから今、私は1つの変数を送信したいだけです
<script type="text/javascript">
function scriptvariable()
{
var theContents = "the variable";
}
</script>
PHP変数へ
<?php
$phpvariable
?>
JavaScriptのその関数は、ボタンをクリックしたときに実行されます。
今、私のphpvariableを使用してデータベース内のデータを検索するために、そのphpvariableをJavaScriptに割り当てる方法がわかりません。私はそれを私のURLまたは何かに追加してページを更新できることを知っていますが、このAjaxメソッドを私のウェブページでさらに使用する必要があるかもしれないので、AJAXでそれをしたいと思います。
それで、1つの簡単なことをするためにページにコードのページをダンプすることなくこれを行う簡単な方法はありますか?
ジョーダンがすでに言ったように、サーバーが値を処理する前にjavascript変数をサーバーにポストバックする必要があります。これを行うには、フォームを送信するJavaScript関数をプログラムするか、ajax/jqueryを使用します。 jQuery.post
おそらくあなたにとって最も簡単なアプローチはこのようなものです
function myJavascriptFunction() {
var javascriptVariable = "John";
window.location.href = "myphpfile.php?name=" + javascriptVariable;
}
Myphpfile.phpでは、javascriptの実行後に$_GET['name']
を使用できます。
よろしく
PHPはサーバー上で実行され、Javascriptはクライアント上で実行されるため、値をサーバーに送信せずにPHP変数をJavascript変数と等しく設定することはできません。ただし、Javascript変数をPHP変数と等しくなるように設定できます。
<script type="text/javascript">
var foo = '<?php echo $foo ?>';
</script>
JavaScript値をPHPに送信するには、AJAXを使用する必要があります。 jQueryでは、次のようになります(可能な限り最も基本的な例)。
var variableToSend = 'foo';
$.post('file.php', {variable: variableToSend});
サーバーでは、投稿で送信された変数を受信する必要があります。
$variable = $_POST['variable'];
それはあなたのページの振る舞いに依存します。これを非同期で実行するには、AJAXを使用する必要があります。 Googleで「jQuery post()」を試してみてください。
他の場合、ユーザーがフォームを送信したときにこれが発生する場合は、非表示フィールドで変数を送信するか、開いているURLの末尾に?variableName=someValue"
を追加できます。 :
http://www.somesite.com/send.php?variableName=someValue
または
http://www.somesite.com/send.php?variableName=someValue&anotherVariable=anotherValue
この方法で、PHPからこの値にアクセスできます:
$phpVariableName = $_POST["variableName"];
POSTメソッドを使用するフォームの場合:
$phpVariableName = $_GET["variableName"];
gETメソッドまたは上記のurlメソッドに追加するフォームの場合(クエリ文字列)。