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

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

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

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

HTML

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

Q&A

解決済

1回答

2931閲覧

HTML, PHPでプルダウンメニューから選択したものを渡す方法

zzzaaa

総合スコア4

PHP

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

HTML

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

0グッド

0クリップ

投稿2020/06/15 06:41

前提・実現したいこと

htmlとphpを用いプルダウンメニューから次のページに情報を引き渡すシステムを作ろうとしています。
プルダウンで選択させ、条件分岐を使い、次のページにその要素を渡そうとしたのですが常にtrueの条件になってしまいます。
選択させたものが後者になりません。

現状該当のソースコードひとつめにてbを選択した時にも、c,d,eが選択肢に出てきてしまいます。
f,g,hが出るように改良したいです。

該当のソースコード

HTML

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5 <title>Aのレビュー記述</title> 6 </head> 7 <body> 8 <h1>Aのレビュー(何について書くのかを選択してください)</h1> 9 10 <form action="a_2.php" method="get"> 11 12 <p> 13 <select name="SELECT"> 14 <option value="a">a</option> 15 <option value="b">b</option> 16 </select> 17 </p> 18 19 <p><input type="submit" value="送信する"></p> 20 21 </form> 22</body> 23</html>

PHP

1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5 <title>Aのレビュー記述</title> 6 </head> 7 <body> 8 <h1>Aのレビュー</h1> 9 10 <form action="a_3.php" method="get"> 11 12 <?php 13 if($SELECT == $a){ 14 ?> 15 <p> 16 <select name="viewpoint"> 17 <option value="c">c</option> 18 <option value="d">d</option> 19 <option value="e">e</option> 20 </select> 21 </p> 22 23 <?php 24 }elseif($SELECT == $b){ 25 ?> 26 <p> 27 <select name="viewpoint"> 28 <option value="f">f</option> 29 <option value="g">g</option> 30 <option value="h">h</option> 31 </select> 32 </p> 33 <?php 34 } 35 ?> 36 37 <p><input type="submit" value="送信する"></p> 38 39 </form> 40</body> 41</html>

試したこと

演算子の個数だったり、文字列の扱いだとかは一通り試しました。

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

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

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

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

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

guest

回答1

0

ベストアンサー

GETの場合、$_GET['SELECT']filter_input(INPUT_GET, 'SELECT')で受け取ります。

【PHP: 外部から来る変数 - Manual】
https://www.php.net/manual/ja/language.variables.external.php

【PHP: filter_input - Manual】
https://www.php.net/manual/ja/function.filter-input.php

【$_GET, $_POSTなどを受け取る際の処理 - Qiita】
https://qiita.com/mpyw/items/2f9955db1c02eeef43ea

投稿2020/06/15 06:54

kei344

総合スコア69606

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

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

zzzaaa

2020/06/15 07:22

2のurlでは localhost/2.php SELECT=b となっているのですが、選択肢はf,g,hにならない状況です。 うまく渡せていないのでしょうか。 if文の中身に問題があると考えているのですが。
kei344

2020/06/15 07:29

「if($SELECT == $a)」の部分について回答しています。$_GET['SELECT']もfilter_input(INPUT_GET, 'SELECT')も使っていませんよね。それとも質問文に記載されていない場所で変数に代入しているのでしょうか。 よくみてみれば「$a」も定義されていませんね。 if(filter_input(INPUT_GET, 'SELECT') == 'a')
zzzaaa

2020/06/15 08:03

if分の中身をおっしゃられたとおり if($_GET["SELECT"] == "a") にしたら通りました。 追いついて行けず申し訳ございません。ありがとうございました。
kei344

2020/06/15 08:07

filter_input(INPUT_GET, 'SELECT') は動きませんでしたか?動くなら確実にそちらのほうが安全です。
zzzaaa

2020/06/23 06:29

動きました。 なぜ安全なのか今後このページに訪れる人のためにもコメントいただけますか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問