質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

2507閲覧

phpでJavascript

ryo_kb

総合スコア10

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2015/01/28 04:44

初めまして 解決に協力いただけると助かります。
phpでJavascriptを行っているのですが、if文が上手くいきません。
確認メッセージでOKを押してもキャンセルを押してもif文の中のupdate()が実行されてしまいます。どうかご教授お願いします。

echo '<script type="text/javascript">';
echo "<!--\n"; echo 'if(window.confirm("本当によろしいですか?")) { -->';
update();
echo "<!--\n"; echo '} else { window.alert("キャンセルされました"); } -->
</script>';

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

maisumakunさんも書かれていますが、JavaScriptとPHPは実行タイミングが違うので同時に動作させることはできません。
JavaScriptはページの表示中に、PHPはページとページの遷移時に実行されます。
そんなわけで簡単なのは以下のようにJavaScriptで他ページに飛ばして、

lang

1if (confirm("本当によろしいですか?")) { 2 location.href = 'page2.php'; 3}

飛ばしたpages2.phpでupdate()関数を実行してやる感じです。

もちろんAjaxを使っても構いませんが、もう少しだけ複雑になります。

投稿2015/01/28 05:23

naga3

総合スコア1293

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

PHPの実行は、ブラウザ側でJavaScriptを実行する前に行われるので、JavaScriptの条件でPHPの実行を選ぶことはできません。

もし、JavaScriptからPHPの処理を使いたいのであれば、Ajaxのように別でリクエストを起こす他ありません。

投稿2015/01/28 05:04

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryo_kb

2015/01/28 06:05

ありがとうございます。JavaScriptがよく分かっていなかったので勉強になりました
guest

0

出力したいjavascriptはこれですか?

lang

1<script type="text/javascript"><!-- 2if(window.confirm("本当によろしいですか?")){ 3update();//これは未定義です 4}else{ 5window.alert("キャンセルされました"); 6} 7--> 8</script>

どのようなことをやりたいのか気になりました。
もしもPHPで動的にjavascriptを生成したいということであれば下のような書き方の例になるかと。

lang

1<?php if($_POST){?> 2<script type="text/javascript"> 3if(window.confirm("本当によろしいですか?")){ 4window.alert(<?php echo $message;?>); 5}else{ 6window.alert("キャンセルされました"); 7} 8</script> 9<?php }>

サーバーへのpost送信があったら、「本当によろしいですか?」をアラートし「はい」を押すとPHP側で定義された$messageが出るというものです。

個人的にはphpとjavascript混在すると読みにくくなるので、サーバー側の処理はPHPで完結させてクライアント側はjavascriptでなるべく完結したほうが良いと思います。
僕の場合、上のように混在させるのはどうしてもという時だけです。

ちなみに提示されたソースを<?php...?>で囲って実行しましたがPHPエラーになりました。
7行目 echo 'update()'; で動きました。

投稿2015/01/28 06:08

hirumahanemui

総合スコア61

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryo_kb

2015/01/28 07:20

詳しい解答ありがとうございます。 サーバー側の処理はPHPで完結させてクライアント側はjavascriptでなるべく完結したほうが良い。まだまだ勉強不足なので参考にさせてもらいます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問