PHPの中でjavascriptを実行して、その結果をPHPの変数に格納するにはどのようにすれば良いでしょうか?
例えば、
<script> hoge = 1+2; </script>のhogeの値をPHPの$hogeに格納するには?
ご教授いただければ幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
同じHTML内でjavascriptの実行結果をPHPに渡して使うことはできません。
javascriptはブラウザで、PHPはサーバで実行されますので戻してもHTML描画時に戻してもPHPでは使えません。
それともjsの結果をPHPに渡して次のアクセス時に使いたいというのであれば
ajaxなどでサーバに渡してあげるか、cookieに書いておくとか逃げ道はあります。
ローカルPC(1台のPC)でXAMPPでサーバを構築していると錯覚しやすいですが
LAMP環境がローカルにあってもブラウザからhttp通信してhtml(css&js)を取得していますので
jsから直接(http)を介さずにPHPに渡すことは不可能です。
投稿2015/08/26 10:29
総合スコア559
0
まず「PHPからJavaScriptを実行する」という事はできません。
なぜなら、PHPはサーバで実行され、JavaScriptはクライアント(ユーザのブラウザ)で実行されるので、お互いが同じデータをやりとりする、という事はできないのです。
つまり、JavaScriptはネットに繋がってなくても動きますが、PHPはサーバにアクセスしない限り動きません。そんな異なる2つの間でデータをやり取りするには工夫が必要です。
【できない】
・javascriptとPHPで同じ変数をシェアしたり、値を相互に入れたり出したりする
【できる】
・POST/GETなどを通じて、サーバとデータを送受信する
例えば…
JavaScriptで値を作ってサーバに送信する、という事はもちろんできます。
サーバとしては、受け取ったデータをPHPで処理する事もできます。
input hiddenなどにJavaScriptで値を入れておいて、フォームをPOSTすれば値はサーバに渡せます。
また、いわゆるAJAXの手法を取る事も可能です。
投稿2015/08/26 13:35
総合スコア289
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ちょっと無理やりですが、自動でsubmitするフォームを作って、自分自身にPOSTしてやれば、$_POSTから取り出せるのでは?
投稿2015/08/26 08:41
総合スコア3041
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
一応、やろうと思えば…
自分は使ったことないのでこれ以上、聞かれても答えられません。
投稿2015/08/26 11:38
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/08/27 10:44
2015/08/27 11:29
退会済みユーザー
2015/08/27 11:38
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/26 13:31