teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

見直し

2018/11/27 07:23

投稿

退会済みユーザー
answer CHANGED
@@ -3,11 +3,30 @@
3
3
  [PHP: 外部から来る変数 - Manual](http://jp2.php.net/manual/ja/language.variables.external.php)
4
4
 
5
5
  フォーム送信されたデータにアクセスするためには、
6
- input要素のname属性をキーとして例えば`$_POST['性別[value]']`とすれば
6
+ input要素のname属性をキーとして例えば`$_POST['お問い合わせ項目']`とすれば
7
- 性別入力データが得られるはず。
7
+ お問い合わせ項目での入力データが得られるはず。
8
8
  {}ではなく[]でキーになる文字列をくくる文法です。
9
9
  [PHP: 配列 - Manual](http://jp2.php.net/manual/ja/language.types.array.php)
10
10
 
11
+ ```php
12
+ if ($_POST['お問い合わせ項目'] === 'A') {
13
+ $myaddress = 'aa*@aaa.co.jp,bb*@bbb.co.jp';
14
+ } elseif ($_POST['お問い合わせ項目'] === 'B') {
15
+ $myaddress = 'cc*@ccc.co.jp,dd*@ddd.co.jp';
16
+ } else { #AでもBでもない→つまり(ここでは)C
17
+ $myaddress = '~,';
18
+ ```
19
+
11
20
  ただし、name属性に単純な英数字を使わず日本語テキストを使っているので、
12
21
  htmlのエンコーディング、フォーム送信データのエンコーディング、phpのエンコーディングに気をつけましょう。
13
- [accept-charset属性 ≪ form要素 ≪ メタデータ ≪ 要素 ≪ HTML5入門](http://html5.cyberlab.info/elements/forms/form-accept-charset.html)
22
+ [accept-charset属性 ≪ form要素 ≪ メタデータ ≪ 要素 ≪ HTML5入門](http://html5.cyberlab.info/elements/forms/form-accept-charset.html)
23
+
24
+ なお、今回は省略しましたが、
25
+ [PHP: filter_input - Manual](http://jp2.php.net/manual/ja/function.filter-input.php)
26
+ を駆使するとフォーム送信されなかった項目のデータ処理で
27
+ エラーを踏まずに済みます。
28
+ ```
29
+ if (filter_input(INPUT_POST, 'お問い合わせ項目') == 'A') {
30
+ ```
31
+
32
+ 以上、机上のみ。