category

category

jquery

2024.10.28

2024.11.2

63

PHPとJavaScriptの実行場所と、値の受け渡し

PHPJavaScriptどこで実行されるか知っていますか?

知っていると知っていないとでは、対応能力が大きく変わってきます。

図で表しました。

こんな感じです。

PHPはサーバーで実行され、JavaScriptはブラウザで実行されます。

これを理解できていれば、jsコードの中でPHPを記述することが可能です。

サーバーが実行するPHPコード

<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script>
alert('<?php echo 7 % 2; ?>');
</script>
</head>
<body>
</body>
</html>

6~8行目がjsのコードですが、7行目でPHPを記述しています。

上記では、7÷2の余りをPHPで計算しています。こんなコードは実際は必要ありませんが簡単な例で説明しました。

おわかりかと思いますが、サーバーでPHPが実行されますので、サーバーからブラウザに渡されるコードは以下となります。

サーバーがブラウザに送信するコード

<!DOCTYPE html>
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script>
alert('1');
</script>
</head>
<body>
</body>
</html>

これを理解できていると、データベースの値を利用してjsのコードが書けるということです。

※注意点として、PHPが実行できるファイルの中に記述する必要があります(上記例でもPHPファイルの中にjsを記述しています。)

では、jsの外部ファイルでPHPから値をもらいたい場合はどうするのでしょうか?

js(jquery)の外部ファイルで、PHPから値をもらいたい場合

PHP

<script>
var aaa = <?php echo 7 % 2; ?>;
</script>
<script src="js/sample.js"></script>

※2つスクリプトを並べています。最初のスクリプトでグローバル変数に値を入れます。値を参照したいのは次のスクリプト(sample.js)です。

sample.js

alert(aaa);

※後に読み込まれた外部ファイルでグローバル変数の値を使用します。

PHPファイルの実行結果

ちなみに、WordPressでは、「wp_localize_script」という関数があり、PHPからjsファイルに値を渡すことができます

640

コメント

コメントを残す

ニックネームは公開されます

CAPTCHA


閉じる