PHPの中でJavaScriptを実行して変数に格納する方法とは【メンターが回答】

「PHPの中でJavaScriptを実行して変数に格納する方法とは?」という質問にTechAcademyの現役エンジニアが解決方法を回答しています。Ajaxを使用する書き方を紹介しているので、ぜひ理解しておきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

※TechAcademyに実際に寄せられた質問に現役エンジニアのメンターが回答しました。

 

田島悠介

質問に対して現役のエンジニアが回答していくシリーズだね!

大石ゆかり

今回はどういう質問でしょうか?

田島悠介

PHPの中でJavaScriptを実行して変数に格納する方法だね!実際に回答してもらった内容を紹介するね!

大石ゆかり

お願いします!

質問

PHPの中でJavaScriptを実行して、その結果をPHPの変数に格納するにはどのようにすれば良いでしょうか?

hogeの値をPHPの$hogeに格納したいと思っています。

 

該当のソースコード

<script>
  hoge = 1+2; 
</script>

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

メンターからの回答

JavaScriptからPHPへ直接変数を渡すことはできません。

実行したJavaScriptで取得した値を、PHP側の変数に渡したいといった場合にはAjaxを使用することができます。

一例として、次のようなものがあります。

JavaScript

$.ajax({
  type: 'POST',
  url: './test.php',
  dataType:'text',
  data: {
    name1 : "a"
  },
  success: function(data) {
    alert("success");
    //location.href = "./test.php";
  }
});

test.php

<?php
  if (isset($_POST["name1"])) {
    echo $_POST['name1'];
  } else {
    echo "値が入力されていません";
  }
?>

上記のコードでは、AjaxでPHPへ値を送信し、そちらをPHPで受けとり表示させています。

以上PHPの中でJavaScriptを実行して変数に格納する方法について解説しました。

TechAcademyでは、現役PHPエンジニアのメンターが質問にすぐ回答します。

 

回答してくれたメンター

赤司達彦(あかしたつひこ)

開発実績: 10年前からHTMLやCSSを利用しホームページやブログの作成を開始しプログラマへ。iPhoneアプリエンジニアとして業務に携わる経験も持ちながら、フリーランスでWordPressを利用したWebサイトやブログを構築。WordPressをこれから始める方に向けた書籍も刊行。

 

田島悠介

PHPの中でJavaScriptを実行して変数に格納する方法について解説したよ。

大石ゆかり

PHPとJavaScriptは相互に変数を受け渡すのが難しいんですか?

田島悠介

PHPで処理したものをJavaScriptの変数にセットするのはJSONを使えば簡単だよ。
ただ、JavaScriptはブラウザ上でPHPはサーバー側で実行されるためにややこしいんだ。

大石ゆかり

わかりました。ありがとうございます!

他にもHTMLファイルからPHPファイルを呼び出す方法についてメンターが回答しているので、合わせてご覧ください。

TechAcademyでは、オンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。