質問編集履歴

2

マークダウンのcode機能利用

2019/12/24 20:49

投稿

atsushi-kane
atsushi-kane

スコア6

test CHANGED
File without changes
test CHANGED
@@ -100,6 +100,12 @@
100
100
 
101
101
 
102
102
 
103
+ ```
104
+
105
+
106
+
107
+
108
+
103
109
 
104
110
 
105
111
  ### 試したこと

1

質問内容の整理。明確化。コード明記

2019/12/24 20:49

投稿

atsushi-kane
atsushi-kane

スコア6

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,11 @@
8
8
 
9
9
  フリーのphpファイルとhtmlファイルをコピペしてやっているのですが、
10
10
 
11
+ htmlからpostで送りたい項目とPHPで受け取る項目の数が違うため、
12
+
11
- うまくいきません
13
+ 送信内容確認画面で必要のな項目が出ててしいます
14
+
15
+
12
16
 
13
17
 
14
18
 
@@ -16,143 +20,83 @@
16
20
 
17
21
 
18
22
 
19
- ```PHP
23
+ ```html
24
+
25
+ <div class="form-container">
26
+
27
+ <div class="form-up-container">
28
+
29
+ <p class="txts">お名前(必須)</p>
30
+
31
+ <input type="text" name="お名前" required>
32
+
33
+ <P class="txts">メールアドレス(必須)</P>
34
+
35
+ <input type="email" name="Email" required>
36
+
37
+ <p class="txts">ご質問など(必須)</p>
38
+
39
+ <textarea name="お問い合わせ内容" required></textarea>
40
+
41
+ </div>
42
+
43
+ <div class="formbtn-box">
44
+
45
+ <button class="formbtn txts" type="submit" id="sbtn" name="action" value="post">入力内容を確認</button>
46
+
47
+ <button class="formbtn txts" type="reset" id="rbtn">リセット</button>
48
+
49
+ </div>
50
+
51
+ </div>
20
52
 
21
53
 
22
54
 
23
- //確認画面の入力内容出力用関数
55
+ ```php
24
56
 
25
- function confirmOutput($arr){
57
+ <!-- ▼************ 送信内容表示部 ※編集は自己責任で ************ ▼-->
26
58
 
27
- global $hankaku,$hankaku_array,$useToken,$confirmDsp,$replaceStr;
59
+ <div id="formWrap">
28
60
 
29
- $html = '';
61
+ <?php if($empty_flag == 1){ ?>
30
62
 
31
- foreach($arr as $key => $val) {
63
+ <div align="center">
32
64
 
33
- $out = '';
65
+ <h4>入力にエラーがあります。下記をご確認の上「戻る」ボタンにて修正をお願い致します。</h4>
34
66
 
35
- if(is_array($val)){
67
+ <?php echo $errm; ?><br /><br /><input type="button" value=" 前画面に戻る " onClick="history.back()">
36
68
 
37
- foreach($val as $key02 => $item){
69
+ </div>
38
70
 
39
- //連結項目の処理
71
+ <?php }else{ ?>
40
72
 
41
- if(is_array($item)){
73
+ <h3>確認画面</h3>
42
74
 
43
- $out .= connect2val($item);
75
+ <p align="center">以下の内容で間違いがなければ、「送信する」ボタンを押してください。</p>
44
76
 
45
- }else{
77
+ <form action="<?php echo h($_SERVER['SCRIPT_NAME']); ?>" method="POST">
46
78
 
47
- $out .= $item . ', ';
79
+ <table class="formTable">
48
80
 
49
- }
81
+ <?php echo confirmOutput($_POST);//入力内容を表示?>
50
82
 
51
- }
83
+ </table>
52
84
 
53
- $out = rtrim($out,', ');
85
+ <p align="center"><input type="hidden" name="mail_set" value="confirm_submit">
54
86
 
87
+ <input type="hidden" name="httpReferer" value="<?php echo h($_SERVER['HTTP_REFERER']);?>">
55
88
 
89
+ <input type="submit" value=" 送信する ">
56
90
 
57
- }else{ $out = $val; }//チェックボックス(配列)追記ここまで
91
+ <input type="button" value="前画面に戻る" onClick="history.back()"></p>
58
92
 
59
- if(get_magic_quotes_gpc()) { $out = stripslashes($out); }
93
+ </form>
60
94
 
61
- $out = nl2br(h($out));//※追記 改行コードを<br>タグに変換
95
+ <?php } ?>
62
96
 
63
- $key = h($key);
97
+ </div><!-- /formWrap -->
64
98
 
65
- $out = str_replace($replaceStr['before'], $replaceStr['after'], $out);//機種依存文字の置換処理
66
-
67
-
68
-
69
- //全角→半角変換
70
-
71
- if($hankaku == 1){
72
-
73
- $out = zenkaku2hankaku($key,$out,$hankaku_array);
74
-
75
- }
76
-
77
-
78
-
79
- $html .= "<tr><th>".$key."</th><td>".$out;
80
-
81
- $html .= '<input type="hidden" name="'.$key.'" value="'.str_replace(array("<br />","<br>"),"",$out).'" />';
82
-
83
- $html .= "</td></tr>\n";
99
+ <!-- *********** 送信内容確認部 ※編集は自己責任で ************ ▲-->
84
-
85
- }
86
-
87
- //トークンをセット
88
-
89
- if($useToken == 1 && $confirmDsp == 1){
90
-
91
- $token = sha1(uniqid(mt_rand(), true));
92
-
93
- $_SESSION['mailform_token'] = $token;
94
-
95
- $html .= '<input type="hidden" name="mailform_token" value="'.$token.'" />';
96
-
97
- }
98
-
99
-
100
-
101
- return $html;
102
-
103
- }
104
-
105
-
106
-
107
- //全角→半角変換
108
-
109
- function zenkaku2hankaku($key,$out,$hankaku_array){
110
-
111
- global $encode;
112
-
113
- if(is_array($hankaku_array) && function_exists('mb_convert_kana')){
114
-
115
- foreach($hankaku_array as $hankaku_array_val){
116
-
117
- if($key == $hankaku_array_val){
118
-
119
- $out = mb_convert_kana($out,'a',$encode);
120
-
121
- }
122
-
123
- }
124
-
125
- }
126
-
127
- return $out;
128
-
129
- }
130
-
131
- //配列連結の処理
132
-
133
- function connect2val($arr){
134
-
135
- $out = '';
136
-
137
- foreach($arr as $key => $val){
138
-
139
- if($key === 0 || $val == ''){//配列が未記入(0)、または内容が空のの場合には連結文字を付加しない(型まで調べる必要あり)
140
-
141
- $key = '';
142
-
143
- }elseif(strpos($key,"円") !== false && $val != '' && preg_match("/^[0-9]+$/",$val)){
144
-
145
- $val = number_format($val);//金額の場合には3桁ごとにカンマを追加
146
-
147
- }
148
-
149
- $out .= $val . $key;
150
-
151
- }
152
-
153
- return $out;
154
-
155
- }
156
100
 
157
101
 
158
102
 
@@ -162,4 +106,8 @@
162
106
 
163
107
 
164
108
 
109
+ いまはhtmlの項目箇所の必要ない部分をコメントアウトして対応しています。
110
+
111
+ 質問は、このコードの場合、
112
+
165
- どこをどう変更していいのかわかりません。
113
+ どこをみるとhtmlから送っている項目、phpで受け取ってる箇所、がわかるでしょう