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

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

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

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

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

Q&A

1回答

1274閲覧

チェックボックスを配列にして出力。また、テキストもその中に含める方法

vio

総合スコア15

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

PHP

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

0グッド

1クリップ

投稿2018/09/20 07:08

編集2018/09/20 07:15

###実現したい事
1.チェックをつけたチェックボックスの値を配列にして、確認画面で「、」に区切って表示したい
2.「その他」というチェックボックスにチェックを入れた際、
. テキストフィールドを表示し、そこに入力した項目も配列に含めたい
. (チェックした際にテキストフィールドを表示する仕組みもご教示いただけるとありがたいです…)

###前提
他の項目は以下のようになっております

↓フォーム画面

html

1<input size="30" type="text" name="メールアドレス" value="<?php print $mail; ?>">

↓確認画面

php

1$mail = h($_POST['メールアドレス']); 2 3<tr> 4 <th>メールアドレス</th> 5 <td><?php print $mail; ?></td> 6</tr> 7

nameに入っている内容を判定して、ユーザーに入力されたものを固有の変数に格納する。
上記の仕組みと同じになるようにしたいです。

下記がチェックボックスです

<input type="checkbox" name="選択項目" value="<?php print $hoge; ?>">回答1 <input type="checkbox" name="選択項目" value="<?php print $hoge; ?>">回答2 <input type="checkbox" name="選択項目" value="<?php print $hoge; ?>">回答3 <input type="checkbox" name="選択項目" value="<?php print $hoge; ?>">その他

###試した事
調べ方が甘いのかもしれませんが、nameの値を「mail[]」のようにして配列にする方法はわかりました。
しかしnameは次の画面で判定用の文字列として使いたいので、
可能であればvalueか他の部分で配列にする方法が知りたいです…。

恐縮ですが、ご教示いただければ幸いです。

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

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

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

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

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

x_x

2018/09/20 07:11

チェックボックスがありませんが、どういう質問なのでしょう?
vio

2018/09/20 07:16

x_x様 追記依頼ありがとうございます。現在のチェックボックスの状況を追加いたしました
x_x

2018/09/20 07:48

メールアドレスは関係ないのですか? チェックボックスとの関連がわかりません。
vio

2018/09/20 07:53

x_x様 メールアドレスはサンプルとして、こういった形でチェックボックスも作成したいという事をお伝えしたく記述しました。わかりづらく申し訳ありません
guest

回答1

0

サンプル

php

1<?php 2/** 3 * index.php 4 */ 5ini_set('display_errors', true); 6error_reporting(E_ALL); 7?><!DOCTYPE HTML> 8<html lang="ja"> 9 <head> 10 <meta charset="UTF-8"> 11 <title></title> 12 </head> 13 <body> 14 <form action="confirm.php" method="post"> 15 <div> 16 <input type="text" name="mail" value="" /> 17 </div> 18 19 <div> 20 <label> 21 <input type="checkbox" name="radio[]" value="A" /> 22 A 23 </label> 24 <label> 25 <input type="checkbox" name="radio[]" value="B" /> 26 B 27 </label> 28 <label> 29 <input type="checkbox" name="radio[]" value="C" /> 30 C 31 </label> 32 </div> 33 34 <div> 35 <button>送信</button> 36 </div> 37 </form> 38 </body> 39</html>

php

1<?php 2/** 3 * confirm.php 4 */ 5ini_set('display_errors', true); 6error_reporting(E_ALL); 7 8function h($string) 9{ 10 return htmlspecialchars($string, ENT_QUOTES, 'utf-8'); 11} 12 13if (filter_input(INPUT_SERVER, 'REQUEST_METHOD') === 'POST') { 14 $mail = filter_input(INPUT_POST, 'mail'); 15 $radios = filter_input(INPUT_POST, 'radio', FILTER_DEFAULT, FILTER_REQUIRE_ARRAY); 16} 17?><!DOCTYPE HTML> 18<html lang="ja"> 19 <head> 20 <meta charset="UTF-8"> 21 <title></title> 22 </head> 23 <body> 24 <?php if (!is_null($mail)) : ?> 25 <p><?php echo h($mail); ?></p> 26 <?php endif; ?> 27 <?php if (!is_null($radios)) : ?> 28 <p><?php echo h(implode('、', $radios)); ?></p> 29 <?php endif; ?> 30 </body> 31</html>

投稿2018/09/20 07:23

編集2018/09/20 07:28
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

vio

2018/09/20 07:41

Kosuke_Shibuya様 ご回答ありがとうございます。 いただいた内容をコピーしそのまま使用したら 24と27行目で「Notice: Undefined variable」というエラーが起きました。 またいただいた内容では「その他」に該当する項目がない為、目的を実現できません…。 恐れ入りますが、内容についてもう少し詳しくご教示いただけますでしょうか。
退会済みユーザー

退会済みユーザー

2018/09/20 07:45

それくらいは応用対処して欲しかったんですが… 未入力の時はそのエラーが出ますね。 最低限、未入力時のエラーはでないように編集してあります。
vio

2018/09/20 07:52

Kosuke_Shibuya様 >それくらいは応用対処して欲しかったんですが… こちらは「その他」に対するご回答でしょうか? >未入力の時はそのエラーが出ますね。 テキストを何も入れなかった場合はエラーが出るという事でしょうか? テキストを入れて送信ボタンを押したのですが、その時にエラーが起こりました。 >最低限、未入力時のエラーはでないように編集してあります。 申し訳ございません。上の文との繋がりが理解できませんでした。 浅学で申し訳ないのですが、何が未入力の時に発生するエラーなのか詳しく教えていただけますでしょうか。
退会済みユーザー

退会済みユーザー

2018/09/20 07:55

この回答は、チェックボックスの部分が提示されていない段階で書いています。 追記コメントの質問で何がわからないのかがちょっと読み取れません。 より具体的に「何がわからないのか」を説明してください。
vio

2018/09/20 08:04

Kosuke_Shibuya様 >追記コメントの質問で何がわからないのかがちょっと読み取れません。 >より具体的に「何がわからないのか」を説明してください。 「Notice: Undefined variable」というエラーを解決したいのですが、その方法をご教示いただけますでしょうか。 エラーが発生した状況は、 いただいたソースをそのまま使用して ブラウザで「テキスト」「チェックボックス」を全て埋めて「送信」を押したら発生しました。
退会済みユーザー

退会済みユーザー

2018/09/20 08:20 編集

こちらの環境ではでませんよ。 回答を編集しているので、古い状態を実行しているのでは?
退会済みユーザー

退会済みユーザー

2018/09/20 08:21

もしかして、filter_inputが使えないバージョンで実行している?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問