-PR-
解決済み

PHPで外部関数での返値の取得の仕方について

  • 暇なときにでも
  • 質問No.213034
  • 閲覧数236
  • ありがとう数5
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 100% (3/3)

はじめまして。PHPの勉強を始めたばかりの者です。

<?php 関数 ?>
で、関数はJavaScriptで書いてあります。
--関数--
<script language="JavaScript">
function 関数(){
a = 計算;
return a;
}
</script>
としているのですが、関数がないとか返値がないみたいなエラーメッセージが表示されます。
どなたか詳しい方、ぜひご指導願います。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル8

ベストアンサー率 44% (13/29)

 時間がたっていますが・・・.

 クライアントサイドで動作するJavaScriptとサーバサイドで動作するPHPは通信することが出来ません.

 PHPがprint()文を実行してJavaScriptを含む文書を書き出し,その結果がブラウザにわたってブラウザがJavaScriptを実行し始めるときには,すでにサーバ側でのPHPプログラムの実行は終了しています.JavaScriptの結果をサーバ側に返したい場合は,新たにPHPプログラムをHTTPで呼び出し,POSTかGETで値を渡す必要があります.

 一度読み込んだページをサーバ側のプログラムと通信しながらダイナミックに更新する技術はMicrosoftがVBScriptやJScriptとASPに対するオプションで提供していたと思いますが,PHPではこれに対応することは(おそらく)出来ないでしょう.
お礼コメント
black_breath

お礼率 100% (3/3)

ご指導ありがとうございます。

>一度読み込んだページをサーバ側のプログラムと通信しながらダイナミック
>に更新する技術はMicrosoftがVBScriptやJScriptとASPに対するオプションで>提供していたと思いますが,PHPではこれに対応することは(おそらく)出来>ないでしょう.

そうですか。多数の人々にご指導頂きありがとうございました。また、わからないことがありましたら質問させていただきます。
投稿日時 - 2002-02-11 07:15:37

その他の回答 (全2件)

  • 回答No.1
レベル12

ベストアンサー率 41% (324/772)

サーバサイドの話とクライアントサイドの話がごちゃまぜになっていますね。

phpはcgiと同じくサーバサイドの機能です。
JavaScriptはクライアントサイドの機能です。

<script>~</script>
内の関数はあくまでJavaScriptの機能なので、phpから見れは単なるTAGと同じです。
つまり、ブラウザに読み込まれて初めて動作するものです。従ってphpがHTMLを出力している間(クライアントにデータを返している間)の制御はサーバ側なのでJavaScript内の関数は動作できません。

もう一度頭の中を整理して、サーバサイドなのかクライアントサイドなのかを区別しましょう。
お礼コメント
black_breath

お礼率 100% (3/3)

回答ありがとうございます。

>phpはcgiと同じくサーバサイドの機能です。
>JavaScriptはクライアントサイドの機能です。

は、わかります。が、イベントを拾って(onClickなど)でのJavaScriptは可能ですよね?最初のほうにJavaScriptをprint("");で囲んで走らせ、その返値をPHPで分岐の条件として使用をしたいんです。

ご指導願います。
投稿日時 - 2002-02-07 20:57:13


  • 回答No.2
レベル11

ベストアンサー率 38% (141/363)

>>phpはcgiと同じくサーバサイドの機能です。
>>JavaScriptはクライアントサイドの機能です。

>は、わかります。が、イベントを拾って(onClickなど)
>でのJavaScriptは可能ですよね?最初のほうにJavaScript
>をprint("");で囲んで走らせ、その返値をPHPで分岐の条
>件として使用をしたいんです。

分かっていないに一票。
分かっていないからその質問がでるんです。
もう一度、「サーバーサイド」、「クライアントサイド」という言葉を、考えてみてください。
お礼コメント
black_breath

お礼率 100% (3/3)

ご指導ありがとうございます。

いまいちなんですが、
「サーバーサイド」→「クライアントサイド_1」→「サーバーサイド」→「クライアントサイド_2」という風にはできませんか?
「クライアントサイド_1」で変数を取得し、「サーバーサイド」で分岐し結果は「クライアントサイド_2」へと表示する は可能ではないんですか?
投稿日時 - 2002-02-10 00:03:53
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-

特集


専門家があなたの悩みに回答!

ピックアップ

ページ先頭へ