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

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

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

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

1757閲覧

formの送信先ファイルで、送信された値を元にphpファイルに値を渡したい

light

総合スコア17

PHP

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

JavaScript

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2014/12/23 18:42

【訂正】誤ってベストアンサーボタンを押しましたが解決していません。
(取り消しできないんですかね。。。?)

a.htmlというファイルの中に

<form name="menu" id="menu" method="POST" action=b.html> <select name="menu1" id="menu1"> <option value="0">1</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <input type="submit" value="決定">

といった具合の記述があり、決定ボタンを押すとフォームがb.html送信され、値が渡されます(渡されるつもりです)。

b.htmlでは、

<script type="text/javascript" src="c.php"></script>

といった具合の記述があり、c.phpが実行されます。

この際、c.phpにa.htmlのフォームで送信した値を渡してやりたいのです。

<script type="text/javascript" src="c.php?value=[a.htmlから受け取った値]"></script>

みたいな感じでできると思うのですがうまくできません。

b.htmlでのa.htmlからの値の受け取り方およびc.phpへの値の渡し方、c.phpでの値の受け取り方を教えてください。

なおb.htmlはjavascriptが埋め込まれています。

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

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

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

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

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

guest

回答3

0

ベストアンサー

「うまくできません」だと何が起きたのかわからないので、明確に回答できませんが、
c.phpがJavaScriptを応答するもので、パラメータによってJavaScriptの中身が変わると言うものだと仮定すると、
まず、b.htmlのところがPHPスクリプトである必要があります。(GETメソッドならJavaScriptでも何かできるかもしれませんが)
b.htmlのPHPの処理で、$_POST['パラメータ名']を取得して、c.phpを記述しているscript要素の部分にこれを埋め込めばできると思います。
c.phpがPHPスクリプトの場合、PHPの処理で$_GET['パラメータ名']を取得すれば、b.htmlからのパラメータが出てくると思います。


D3.jsに渡したいのであれば、b.htmlをPHPスクリプトにして、d3.jsonのURL(第1引数)にc.php+パラメータを埋め込んだHTML(JavaScriptが中に書かれている)をPHPで生成すればできると思います。

投稿2014/12/24 01:17

TaMaMhyu

総合スコア1356

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

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

TaMaMhyu

2014/12/24 03:35

回答に追記しました。
guest

0

そもそもb.htmlの

<script type="text/javascript" src="c.php"></script>

がおかしくないです?
仕様的にダメかどうかまでは知りませんが、普通はその記述でしたらscript中のsrcは
「***.js」等のjavascriptファイルを記述する事になると思います。
formのactionはsubmitされた後にデータを送る先(行き先って言えば良いのですかね?)
script中のsrcはそのhtmlファイルやphpファイルと一緒に読み込まれる物です。

まぁそこは置いておいて、html拡張子でPHP使う事が出来るならb.htmlで

<?php $test1 = $_POST['menu1']; ?>

等でデータを受け取って、htmlの中に
<input type="hidden" name="menu1" id="menu1" value="<?=$test1?>">
って埋め込んでc.phpへPOSTする(submitする)のが簡単では無いでしょうか?

根本的に質問に対する私の理解が間違ってるならすみません。

投稿2014/12/24 00:38

landy77

総合スコア1614

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

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

light

2014/12/24 03:28

回答ありがとうございます。 >普通はその記述でしたらscript中のsrcは 「***.js」等のjavascriptファイルを記述する事になると思います。 追記に述べたc.phpと同様の処理をjavascriptでやってくれるならそれでかまわないのですが。。。javascriptはd3.json()を使いたいから使っているだけでまだうまく使えないので、使った経験のあるphpで実装をしました。 >script中のsrcはそのhtmlファイルやphpファイルと一緒に読み込まれる物です。 読み込まれる、ってよくわからないんですよねぇ、、、この方法でc.phpが実行されたのでこのやり方でいいやくらいのつもりで使ってますが。。。 >html拡張子でPHP使う事が出来るならb.htmlで ><?php >$test1 = $_POST['menu1']; >?> >等でデータを受け取って、htmlの中に ><input type="hidden" name="menu1" id="menu1" value="<?=$test1?>"> >って埋め込んでc.phpへPOSTする(submitする)のが簡単では無いでしょうか? b.htmlはd3.json()を使うもので、したがってjavascriptが記述されています。 javascriptとphpを同じファイルに記述して実行するのがうまくできません。。。 あと、phpを記述するのであれば.htmlではなく.phpにするのではないのですか?
guest

0

こんにちは、

これを見ていて思ったのですが、

画面遷移が HTML → HTML → PHP になっているともいますが、a.html から b.html へ遷移した後に、c.phpへ遷移する理由は何なのでしょうか?

お問い合わせフォームなどの場合:入力画面→確認画面→完了画面に遷移すると思います。

なのであれば、HTML(入力画面)→ PHP(入力確認処理)→ HTML(確認画面)→ PHP(メールなどの送信処理)→ HTML(確認画面)のような形式になるのではないでしょうか?

なので、

<form name="menu" id="menu" method="POST" action=b.html>   ↓ <form name="menu" id="menu" method="POST" action=c.php>

に変更して、HTMLとPHPを交互に動作させるようにすれば良いのではないでしょうか?

後は、TaMaMhyuさんがコメントしている用に、PHP側でSubmitされたデータを取得して必須入力チェックなどをすれば問題ないかと思います。

投稿2014/12/24 02:11

takayukiinaba

総合スコア1158

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

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

light

2014/12/24 03:03

回答ありがとうございます。 追記にもありますように、c.phpに画面遷移することを望んではいません。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問