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

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

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

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

JavaScript

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

HTML

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

Q&A

解決済

1回答

385閲覧

<form>間の値の受け渡し

rrr_s

総合スコア19

PHP

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

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2020/04/07 08:41

編集2020/04/07 09:10

お世話になっております。
PHP/HTML初心者です。
下記の動きを実装したいのですが、なかなかできず
頭を悩ませております。。

※これらはすべて同ページ上で行われるため、ページ移動はございません※

①検索フォーム<form></form>
→テキストボックスやチェックボックスなどにユーザーが入力
→それを元に[検索]ボタンを押下すると、PHP側でsqlが走り、その結果が検索結果として一覧表示される
→かつ、[CSV出力]ボタンが表示される

②CSV出力フォーム<form></form>
→①のユーザー入力値をもとに[CSV出力]ボタンを押下すると、PHP側で再度SQLが走り、結果がCSVでダウンロードされる

html

1//検索フォーム 2<form name="form" method=POST action="{{$SCRIPT_NAME}}"> 3 <input type=hidden name=name value="検索"> 4 //検索パラメータ 5 <input type="text" name="aaa" value="ユーザー入力値"> 6     <input type="checkbox" name="bbb" id="ccc" value="ユーザー入力値"> 7</form> 8 9//ダウンロードフォーム 10<form name="form" method=POST action="{{$SCRIPT_NAME}}"> 11 <input type=hidden name=name value="ダウンロード"> 12 //ダウンロードパラメータ 13</form> 14

‥という機能を作りたいと考えているのですが、
②CSV出力フォームに、①の検索フォームでユーザーが入力した値を
取得してくることができずにおります。
尚、不格好ではありますが、<form>タグを分けずに実装した結果、
CSV出力ができるまではいったのですが、
[CSV出力]押下前にユーザーが検索フォーム内の値を変更してしまうと、
[CSV出力後、その変更されたままの値でSQLが走ってしまうため、
想定通りの結果を出力させることができず、、といった状況で、

<form>タグを2つに分けて奮闘しているとことです。

こちらでも質問させていただいたのですが、
理解力不足でまだ解決に至っておりません。
そこで、
<form><form>間で、値を引き継ぐ方法
(・そもそも<form>タグを2つに分けずに上手く実装する方法)
を、ご教示をお願いできますと幸いです。

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

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

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

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

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

x_x

2020/04/07 09:04

「その変更されたままの値でSQLが走ってしまうため」ということはほしいのは別の値なので2つの form が良いと考えますが、1つにしたい理由は何でしょうか?
rrr_s

2020/04/07 09:11

x_x様 ご回答ありがとうございます。 いえ、特に1つにしたい理由はなく、、 そもそも初心者のため、1つがよいのか2つがよいのか、というところでも 躓いてしまっているような状況です。 2つのformでの値受け渡しにて、 お手すきの際ご教示をお願いできますと幸いでございます。
Lhankor_Mhy

2020/04/07 10:08

このHTMLであれば、JavaScript が走っていると思いますが、そのコードもご提示ください。
rrr_s

2020/04/07 10:11

コメントありがとうございます。 カレンダー表示のみにJavaScriptを用いております。 <script language="JavaScript" type="text/javascript"> $(function(){ $("#aaa").datepicker(); $("#bbb").datepicker(); }); </script> どうぞよろしくお願いいたします。
Lhankor_Mhy

2020/04/07 10:19

このHTMLとJavaScriptでは、どう考えても動かないと思うのですが、実際にはサーバにリクエストが飛んでいるんですよね? 一体全体どうなっているんですか? 魔法でも使っているんですか?
Lhankor_Mhy

2020/04/07 10:20

いや、失礼。言いすぎました。 とにかく、問題が再現するコードをご提示ください。 これでは、話にならない。
guest

回答1

0

ベストアンサー

検索条件を送信したフォームの値を、
CSV出力用フォームの中にhiddenで全部置くことになります。

html

1//検索フォーム 2<form name="form" method=POST action="{{$SCRIPT_NAME}}"> 3 <input type=hidden name=name value="検索"> 4 //検索パラメータ 5 <input type="text" name="aaa" value="ユーザー入力値"> 6 <input type="checkbox" name="bbb" id="ccc" value="ユーザー入力値"> 7</form> 8 9//ダウンロードフォーム 10<form name="form" method=POST action="{{$SCRIPT_NAME}}"> 11 <input type=hidden name=name value="ダウンロード"> 12 //ダウンロードパラメータ 13 <input type="hidden" name="aaa" value="<?php echo h($_POST['aaa']); ?>"> 14 <input type="hidden" name="bbb" id="ccc" value="<?php echo h($_POST['bbb']); ?>"> 15</form>

投稿2020/04/07 09:47

編集2020/04/07 09:51
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

rrr_s

2020/04/07 09:54

いつもありがとうございます。 勉強不足で申し訳ないのですが、 下記のようにJavaScriptを用いてhiddenで置くようなイメージでしょうか‥? https://www.ipentec.com/document/javascript-get-textbox-value (タイムラグにより2度送信してしまっていたら申し訳ございません。。)
退会済みユーザー

退会済みユーザー

2020/04/07 10:00

フォーム上の検索ボタンクリックで、一旦PHPに対してPOST送信すると、 私が書いたようなコードになっていればPOST送信したパラメータが2つ目のCSV出力ボタン側フォームに出現する格好です。 もしも、検索ボタンクリックでajaxを使ってPHPとやり取りして表示するのだとしたら、 2つ目のフォームに検索パラメータを転写するjavascriptを書かないといけないでしょうね。
rrr_s

2020/04/07 10:01

素っ頓狂な返信、大変失礼いたしました。。 ご教示いただいたもので再度実装してみます。 ありがとございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問