🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
PHP

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

JavaScript

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

Q&A

解決済

3回答

13817閲覧

postで受け取った値をselectの初期値にしたい

kii.32

総合スコア67

PHP

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

JavaScript

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

0グッド

0クリップ

投稿2019/12/15 18:12

前提・実現したいこと

PHPを勉強して3週間くらいの初学者です。

発生している問題・エラーメッセージ

step1とstep2の2つのお問い合わせフォームがあり、
step1からstep2へpostしたselectタグの内容をstep2のselectタグの初期値にしたいです。

該当のソースコード

contact

1<form action="/step2" method="post"> 2<select name="pref_name"> 3 <option value="" selected>都道府県</option> 4 <option value="北海道">北海道</option> 5 <option value="青森県">青森県</option> 6 <option value="岩手県">岩手県</option> 7 <option value="宮城県">宮城県</option> 8 <option value="秋田県">秋田県</option> 9 <option value="山形県">山形県</option> 10 <option value="福島県">福島県</option> 11 <option value="茨城県">茨城県</option> 12 <option value="栃木県">栃木県</option> 13 <option value="群馬県">群馬県</option> 14 <option value="埼玉県">埼玉県</option> 15 <option value="千葉県">千葉県</option> 16 <option value="東京都">東京都</option> 17 <option value="神奈川県">神奈川県</option> 18 <option value="新潟県">新潟県</option> 19 <option value="富山県">富山県</option> 20 <option value="石川県">石川県</option> 21 <option value="福井県">福井県</option> 22 <option value="山梨県">山梨県</option> 23 <option value="長野県">長野県</option> 24 <option value="岐阜県">岐阜県</option> 25 <option value="静岡県">静岡県</option> 26 <option value="愛知県">愛知県</option> 27 <option value="三重県">三重県</option> 28 <option value="滋賀県">滋賀県</option> 29 <option value="京都府">京都府</option> 30 <option value="大阪府">大阪府</option> 31 <option value="兵庫県">兵庫県</option> 32 <option value="奈良県">奈良県</option> 33 <option value="和歌山県">和歌山県</option> 34 <option value="鳥取県">鳥取県</option> 35 <option value="島根県">島根県</option> 36 <option value="岡山県">岡山県</option> 37 <option value="広島県">広島県</option> 38 <option value="山口県">山口県</option> 39 <option value="徳島県">徳島県</option> 40 <option value="香川県">香川県</option> 41 <option value="愛媛県">愛媛県</option> 42 <option value="高知県">高知県</option> 43 <option value="福岡県">福岡県</option> 44 <option value="佐賀県">佐賀県</option> 45 <option value="長崎県">長崎県</option> 46 <option value="熊本県">熊本県</option> 47 <option value="大分県">大分県</option> 48 <option value="宮崎県">宮崎県</option> 49 <option value="鹿児島県">鹿児島県</option> 50 <option value="沖縄県">沖縄県</option> 51</select> 52<button type="submit">進む</button> 53</form> 54

contact

1<form action="/step3" method="post"> 2<select name="pref_name"> 3 <option value="" selected>都道府県</option> 4 <option value="北海道">北海道</option> 5 <option value="青森県">青森県</option> 6 <option value="岩手県">岩手県</option> 7 <option value="宮城県">宮城県</option> 8 <option value="秋田県">秋田県</option> 9 <option value="山形県">山形県</option> 10 <option value="福島県">福島県</option> 11 <option value="茨城県">茨城県</option> 12 <option value="栃木県">栃木県</option> 13 <option value="群馬県">群馬県</option> 14 <option value="埼玉県">埼玉県</option> 15 <option value="千葉県">千葉県</option> 16 <option value="東京都">東京都</option> 17 <option value="神奈川県">神奈川県</option> 18 <option value="新潟県">新潟県</option> 19 <option value="富山県">富山県</option> 20 <option value="石川県">石川県</option> 21 <option value="福井県">福井県</option> 22 <option value="山梨県">山梨県</option> 23 <option value="長野県">長野県</option> 24 <option value="岐阜県">岐阜県</option> 25 <option value="静岡県">静岡県</option> 26 <option value="愛知県">愛知県</option> 27 <option value="三重県">三重県</option> 28 <option value="滋賀県">滋賀県</option> 29 <option value="京都府">京都府</option> 30 <option value="大阪府">大阪府</option> 31 <option value="兵庫県">兵庫県</option> 32 <option value="奈良県">奈良県</option> 33 <option value="和歌山県">和歌山県</option> 34 <option value="鳥取県">鳥取県</option> 35 <option value="島根県">島根県</option> 36 <option value="岡山県">岡山県</option> 37 <option value="広島県">広島県</option> 38 <option value="山口県">山口県</option> 39 <option value="徳島県">徳島県</option> 40 <option value="香川県">香川県</option> 41 <option value="愛媛県">愛媛県</option> 42 <option value="高知県">高知県</option> 43 <option value="福岡県">福岡県</option> 44 <option value="佐賀県">佐賀県</option> 45 <option value="長崎県">長崎県</option> 46 <option value="熊本県">熊本県</option> 47 <option value="大分県">大分県</option> 48 <option value="宮崎県">宮崎県</option> 49 <option value="鹿児島県">鹿児島県</option> 50 <option value="沖縄県">沖縄県</option> 51</select> 52<button type="submit">送信</button> 53</form> 54

例えばstep1で佐賀県を選んだ場合は
step2で初期値で[佐賀県]が選択されているように実装をしたいです。

試したこと

step2のselectタグに
<select name="pref_name" value="<?php echo $_POST['pref_name']; ?>">

このように入れてみたのですが、上手くいきませんでした。
step2のページではurlに選択した値が入っているので、postはできていると思うのですが、
上手く初期値として反映させられません。

教えていただけますと幸いです。
よろしくお願い致します。

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

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

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

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

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

m.ts10806

2019/12/15 23:48

postでなかった場合の初期値の設定の仕方はわかっている前提ですか?
kii.32

2019/12/16 01:03

postでなかった場合の初期値は「都道府県」です。
m.ts10806

2019/12/16 01:16

違います。 post関係なく、任意で初期値を設定するようなコードは組めますか? と聞いています。
kii.32

2019/12/16 05:06

失礼しました。 selected属性を任意のタグにつけると思ったのですが、これも違いますでしょうか?
m.ts10806

2019/12/16 05:07

合ってますが、現在のコードでそれやってますか?
m.ts10806

2019/12/16 05:08

任意のタグではないですね。 任意のoptionタグです。
kei344

2019/12/16 05:49

まだ質問が「受付中」になっていますが、どのように解決したのかを回答文に書き、「解決済」にされてはいかがでしょうか。
kii.32

2019/12/16 05:53

selectedは初期値にしたい「都道府県」につけていました! おかげさまで、無事解決することができました。 ありがとうございました。
guest

回答3

0

PHP

1<option value="北海道"<?php if ( $_POST['pref_name'] === '北海道' ) { echo ' selected'; } ?>>北海道</option>

<select> - HTML: HyperText Markup Language | MDN】
https://developer.mozilla.org/ja/docs/Web/HTML/Element/select

<option> 要素に selected 属性を付けることで、ページが最初に読み込まれたときに既定で選択状態にすることができます。

投稿2019/12/15 18:44

kei344

総合スコア69596

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

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

kii.32

2019/12/16 05:07

ありがとうございます! POSTをGETに変えることで実装できました!
m.ts10806

2019/12/16 05:54

POSTかGETかは関係ないですよ。
guest

0

流れ的にはこう

PHP

1<?PHP 2$pref_name=filter_input(INPUT_POST,"pref_name"); 3$pref_list=["","北海道","青森県","岩手県"]; 4foreach($pref_list as $val){ 5 $checked["pref_name"][$val]=$pref_name==$val?" selected":""; 6} 7?> 8<form method="post"> 9<select name="pref_name"> 10<option value=""<?=$checked["pref_name"][""]?>>都道府県</option> 11<option value="北海道"<?=$checked["pref_name"]["北海道"]?>>北海道</option> 12<option value="青森県"<?=$checked["pref_name"]["青森県"]?>>青森県</option> 13<option value="岩手県"<?=$checked["pref_name"]["岩手県"]?>>岩手県</option> 14</select> 15<input type="submit" value="send"> 16</form> 17

投稿2019/12/16 00:28

yambejp

総合スコア116661

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

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

kii.32

2019/12/16 05:07

ありがとうございます! POSTをGETに変えることで実装できました!
guest

0

自己解決

<option value="北海道"<?php if ( $_GET['pref_name'] === '北海道' ) { echo ' selected'; } ?>>北海道</option> <option value="青森"<?php if ( $_GET['pref_name'] === '青森' ) { echo ' selected'; } ?>>青森</option> . . .

上記のコードで解決することができました!

投稿2019/12/16 05:51

kii.32

総合スコア67

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

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

m.ts10806

2019/12/16 05:55

別途コメントしてますがPOSTかGETかはやりたいこととその結果には全く関係ありません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問