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

質問編集履歴

10

コードの変更

2019/09/15 05:42

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  どなたか、アドバイスをいただけないでしょうか?。
10
10
 
11
- ###これは、入力form1.phpのコードです。
11
+ ###これは、入力form2.phpのコードです。
12
12
  ```phpsession_start();
13
13
 
14
14
  //必要な関数を読み込む
@@ -180,7 +180,7 @@
180
180
  63 </body>
181
181
  64 </html>
182
182
 
183
- **ボールドテキスト**
183
+
184
184
  ```
185
185
 
186
186
 
@@ -260,4 +260,29 @@
260
260
  echo "不正なアクセス!!!";
261
261
  }
262
262
 
263
- ```
263
+ ```
264
+ ##この部分を
265
+ ```form2.php
266
+ //変数に POSTされたデータを代入
267
+ $name = isset($_POST['name']) ? $_POST['name'] : NULL;
268
+ $email = isset($_POST['email']) ? $_POST['email'] : NULL;
269
+ $subject = isset($_POST['subject']) ? $_POST['subject'] : NULL;
270
+ $body = isset($_POST['body']) ? $_POST['body'] : NULL;
271
+ $code = isset($_POST['code']) ? $_POST['code'] : NULL;
272
+
273
+ ```
274
+ ###このように、書き換えたのですが、
275
+ ```form2.php
276
+
277
+ $args = array(
278
+ 'name' => FILTER_DEFAULT,
279
+ 'email' => FILTER_VALIDATE_EMAIL,
280
+ 'subject' => FILTER_DEFAULT,
281
+ 'body' => FILTER_DEFAULT,
282
+ 'code' => FILTER_DEFAULT,
283
+ );
284
+ $post_data = filter_input_array(INPUT_POST, $args);
285
+
286
+ ```
287
+ Notice: Undefined variable: name in /Applications/MAMP/htdocs/form2.php on line 33
288
+ と出てしまい、全ての入力が、未入力の状態になって、赤文字のエラーメッセージが出ます。

9

コードの追加

2019/09/15 05:42

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -249,4 +249,15 @@
249
249
  内容は必須項目です。
250
250
  確認キーワードは8文字で入力して下さい。
251
251
 
252
- が表示されてます。
252
+ が表示されてます。
253
+
254
+ ###冒頭のform1.phpの中に、サーバー変数を書いたところ、エラー表示が出ましたが、どうすれば良いかわからなくなってます。何が、不備なのか、アドバイスいただけたら、有り難いです。
255
+
256
+ ```form1.php
257
+ if($_SERVER["REQUEST_METHOD"]==="POST"){
258
+ POSTの時の処理
259
+ }else{
260
+ echo "不正なアクセス!!!";
261
+ }
262
+
263
+ ```

8

画面の修正

2019/09/14 10:07

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -238,4 +238,15 @@
238
238
  return TRUE;
239
239
  }
240
240
  ?>
241
- ```
241
+ ```
242
+
243
+ ###MAMPで、localhost/form1.phpにアクセスします。
244
+
245
+ 表示されたフォームに、名前、E-メール、件名、内容、画像認証のボックスがありますので、入力して、送信ボタンを押します。
246
+
247
+ 画面は、変わらないままですが、件名と、画像認証だけ入力文字が消えて、
248
+ 赤文字で、
249
+ 内容は必須項目です。
250
+ 確認キーワードは8文字で入力して下さい。
251
+
252
+ が表示されてます。

7

コードの追加

2019/09/14 07:21

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -112,8 +112,41 @@
112
112
  display('form2_view.php', $data);
113
113
  }
114
114
 
115
- ```###html
115
+ ```###form1_view.php
116
+ このプログラムにjavascriptを組み込んでます。49行目付近
117
+ ```form1_view.php
118
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3 .org/TR/xhtml1-transitional.dtd">
119
+ 2 <html xmlns="http://www.w3.org/1999/xhtml">
120
+ 3 <head>
121
+ 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
122
+ 5 <meta http-equiv="Content-Style-Type" content="text/css" />
123
+ 6 <meta http-equiv="Content-Script-Type" content="text/javascript" />
124
+ 7 <title>メールフォーム</title>
125
+ 8 <link rel="stylesheet" type="text/css" href="css/style.css" media="screen,tv " />
126
+ 9 </head>
127
+ 10 <body>
128
+ 11 <div id="box">
129
+ 12 <div id="header">
130
+ 13 <h1>PHP for Web Designer</h1>
131
+ 14 </div>
132
+ 15 <ul id="menu" class="clearfix">
133
+ 16 <li><a href="question1.php">アンケート</a></li>
134
+ 17 <li class="active"><a href="form1.php">メールフォーム</a></li>
135
+ 18 <li><a href="webapi/">グルメMAP</a></li>
136
+ 19 </ul>
137
+ 20 <div id="main">
138
+ 21 <h2 class="mail-bar">メールフォーム</h2>
139
+ 22
140
+ 23 <?php if (isset($error)): ?>
141
+ 24 <?php foreach ($error as $val): ?>
142
+ 25 <font color="red"><?php echo $val; ?></font><br />
143
+ 26 <?php endforeach; ?>
144
+ 27 <?php endif; ?>
145
+ 28
146
+ 29 <form action="form2.php" method="post">
147
+ 30
148
+ 31 <dl class="clearfix mailform">
116
- ```ここに言語を入力32 <dt>お名前</dt>
149
+ 32 <dt>お名前</dt>
117
150
  33 <dd><label>
118
151
  34 <input type="text" name="name" value="<?php echo $name; ?>" size="50" />
119
152
  35 </label></dd>
@@ -145,30 +178,11 @@
145
178
  61 </p>
146
179
  62 </div>
147
180
  63 </body>
148
- 64 </html
181
+ 64 </html>
149
- ```
150
182
 
151
- ###こちらがfunctions.phpです。
152
- ```php
153
- //入力値に不正なデータがないかどうかなどをチェックする関数
154
- function checkInput($var) {
155
- if (is_array($var)) {
156
- return array_map('checkInput', $var);
157
- } else {
158
- if (get_magic_quotes_gpc()) { //magic_quotes_gpc対策
159
- $var = stripslashes($var);
160
- }
161
- if (preg_match('/\0/', $var)) { //NULLバイト攻撃対策
162
- die('不正な入力です。');
163
- }
164
- if (!mb_check_encoding($var, 'UTF-8')) { //文字エンコードの確認
165
- die('不正な入力です。');
166
- }
167
- return $var;
183
+ **ボールドテキスト**
168
- }
169
- }
170
184
  ```
171
- 操作が酷くて、申し訳ありません。
185
+
172
186
 
173
187
  ###zizai_captcha/check.phpです。
174
188
  ```check.php

6

コードの追加

2019/09/14 06:29

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -168,4 +168,60 @@
168
168
  }
169
169
  }
170
170
  ```
171
- 操作が酷くて、申し訳ありません。
171
+ 操作が酷くて、申し訳ありません。
172
+
173
+ ###zizai_captcha/check.phpです。
174
+ ```check.php
175
+ function zizai_captcha_check($input_str = NULL,$key_time = NULL){
176
+ if($input_str === NULL){
177
+ if(isset($_POST["zizai_captcha_check"])){
178
+ $input_str = $_POST["zizai_captcha_check"];
179
+ }else{
180
+ return FALSE;
181
+ }
182
+ }
183
+
184
+ if($key_time === NULL){
185
+ if(isset($_POST["zizai_captcha_time"])){
186
+ $key_time = $_POST["zizai_captcha_time"];
187
+ }else{
188
+ return FALSE;
189
+ }
190
+ }
191
+
192
+ mb_language("uni");
193
+ mb_internal_encoding("utf-8");
194
+ mb_http_input("auto");
195
+ mb_http_output("utf-8");
196
+
197
+ $input_str = mb_convert_kana($input_str,"r");
198
+
199
+ $time = time();
200
+ $post_t = intval($key_time);
201
+
202
+ $config = parse_ini_file(dirname(__FILE__)."/config.ini");
203
+ $seed = parse_ini_file(dirname(__FILE__)."/seed.ini");
204
+
205
+ if($post_t > $time || $post_t < $time - $config["expire"]){
206
+ return FALSE;
207
+ }
208
+
209
+ $symbol = array("+","/");
210
+ $alphabet = array("A","B");
211
+
212
+ if($seed["last_updated"] <= $post_t){
213
+ $seed_str = $seed["new_seed"];
214
+ }else{
215
+ $seed_str = $seed["old_seed"];
216
+ }
217
+
218
+ $str = str_replace($symbol,$alphabet,strtoupper(substr(base64_encode(md5($post_t.$seed_str,TRUE)),0,$config["characters_count"])));
219
+
220
+ if(strtoupper($input_str) !== $str){
221
+ return FALSE;
222
+ }
223
+
224
+ return TRUE;
225
+ }
226
+ ?>
227
+ ```

5

画面の修正

2019/09/14 06:10

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -7,7 +7,8 @@
7
7
  エラーは、subjectの'**件名は必須項目です。**'と画像認証の'**確認キーワードは8文字で入力して下さい。';です。**
8
8
 
9
9
  どなたか、アドバイスをいただけないでしょうか?。
10
+
10
- これは、入力form1.phpのコードです。
11
+ ###これは、入力form1.phpのコードです。
11
12
  ```phpsession_start();
12
13
 
13
14
  //必要な関数を読み込む
@@ -110,8 +111,8 @@
110
111
  $data['ticket'] = $ticket;
111
112
  display('form2_view.php', $data);
112
113
  }
113
- ここからは、HTMLのコードです。
114
+
114
- ```html
115
+ ```###html
115
116
  ```ここに言語を入力32 <dt>お名前</dt>
116
117
  33 <dd><label>
117
118
  34 <input type="text" name="name" value="<?php echo $name; ?>" size="50" />
@@ -144,14 +145,12 @@
144
145
  61 </p>
145
146
  62 </div>
146
147
  63 </body>
147
- 64 </htmlード
148
+ 64 </html
148
149
  ```
149
- コード
150
+
150
- ```
151
- ```function.php
152
- functions.phpです。
151
+ ###こちらがfunctions.phpです。
153
152
  ```php
154
- ``````ここに言語を入力//入力値に不正なデータがないかどうかなどをチェックする関数
153
+ //入力値に不正なデータがないかどうかなどをチェックする関数
155
154
  function checkInput($var) {
156
155
  if (is_array($var)) {
157
156
  return array_map('checkInput', $var);
@@ -167,6 +166,6 @@
167
166
  }
168
167
  return $var;
169
168
  }
170
- }ード
169
+ }
171
170
  ```
172
171
  操作が酷くて、申し訳ありません。

4

画面の修正

2019/09/14 05:48

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -4,11 +4,11 @@
4
4
  氏名、メールアドレス、件名、問い合わせ内容、画像認証を入力し確認ボタンで、本来は確認ページに進むのですが、
5
5
 
6
6
  入力ページのまま、件名と画像認証のエラーが出ます。
7
- エラーは、subjectの'件名は必須項目です。'と画像認証の'確認キーワードは8文字で入力して下さい。';です。
7
+ エラーは、subjectの'**件名は必須項目です。**'と画像認証の'**確認キーワードは8文字で入力して下さい。';です。**
8
8
 
9
9
  どなたか、アドバイスをいただけないでしょうか?。
10
10
  これは、入力form1.phpのコードです。
11
- session_start();
11
+ ```phpsession_start();
12
12
 
13
13
  //必要な関数を読み込む
14
14
  require dirname(__FILE__).'../../libs/functions.php';
@@ -111,6 +111,7 @@
111
111
  display('form2_view.php', $data);
112
112
  }
113
113
  ここからは、HTMLのコードです。
114
+ ```html
114
115
  ```ここに言語を入力32 <dt>お名前</dt>
115
116
  33 <dd><label>
116
117
  34 <input type="text" name="name" value="<?php echo $name; ?>" size="50" />
@@ -143,9 +144,13 @@
143
144
  61 </p>
144
145
  62 </div>
145
146
  63 </body>
146
- 64 </html
147
+ 64 </htmlード
147
-
148
+ ```
149
+ コード
150
+ ```
151
+ ```function.php
148
152
  functions.phpです。
153
+ ```php
149
154
  ``````ここに言語を入力//入力値に不正なデータがないかどうかなどをチェックする関数
150
155
  function checkInput($var) {
151
156
  if (is_array($var)) {
@@ -162,5 +167,6 @@
162
167
  }
163
168
  return $var;
164
169
  }
165
- }
170
+ }ード
171
+ ```
166
172
  操作が酷くて、申し訳ありません。

3

画面の修正

2019/09/14 05:25

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -7,7 +7,7 @@
7
7
  エラーは、subjectの'件名は必須項目です。'と画像認証の'確認キーワードは8文字で入力して下さい。';です。
8
8
 
9
9
  どなたか、アドバイスをいただけないでしょうか?。
10
-
10
+ これは、入力form1.phpのコードです。
11
11
  session_start();
12
12
 
13
13
  //必要な関数を読み込む
@@ -110,6 +110,7 @@
110
110
  $data['ticket'] = $ticket;
111
111
  display('form2_view.php', $data);
112
112
  }
113
+ ここからは、HTMLのコードです。
113
114
  ```ここに言語を入力32 <dt>お名前</dt>
114
115
  33 <dd><label>
115
116
  34 <input type="text" name="name" value="<?php echo $name; ?>" size="50" />
@@ -143,6 +144,8 @@
143
144
  62 </div>
144
145
  63 </body>
145
146
  64 </html
147
+
148
+ functions.phpです。
146
149
  ``````ここに言語を入力//入力値に不正なデータがないかどうかなどをチェックする関数
147
150
  function checkInput($var) {
148
151
  if (is_array($var)) {

2

該当ソースコードの追加

2019/09/14 05:14

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -142,6 +142,22 @@
142
142
  61 </p>
143
143
  62 </div>
144
144
  63 </body>
145
- 64 </html>
145
+ 64 </html
146
+ ``````ここに言語を入力//入力値に不正なデータがないかどうかなどをチェックする関数
147
+ function checkInput($var) {
148
+ if (is_array($var)) {
149
+ return array_map('checkInput', $var);
150
+ } else {
151
+ if (get_magic_quotes_gpc()) { //magic_quotes_gpc対策
152
+ $var = stripslashes($var);
146
- ード
153
+ }
154
+ if (preg_match('/\0/', $var)) { //NULLバイト攻撃対策
155
+ die('不正な入力です。');
147
- ```
156
+ }
157
+ if (!mb_check_encoding($var, 'UTF-8')) { //文字エンコードの確認
158
+ die('不正な入力です。');
159
+ }
160
+ return $var;
161
+ }
162
+ }
163
+ 操作が酷くて、申し訳ありません。

1

該当ソースコードの追加

2019/09/14 05:09

投稿

sawara29
sawara29

スコア12

title CHANGED
File without changes
body CHANGED
@@ -109,4 +109,39 @@
109
109
  $data['body'] = $body;
110
110
  $data['ticket'] = $ticket;
111
111
  display('form2_view.php', $data);
112
- }
112
+ }
113
+ ```ここに言語を入力32 <dt>お名前</dt>
114
+ 33 <dd><label>
115
+ 34 <input type="text" name="name" value="<?php echo $name; ?>" size="50" />
116
+ 35 </label></dd>
117
+ 36 <dt>e-mail</dt>
118
+ 37 <dd><label>
119
+ 38 <input type="text" name="email" value="<?php echo $email; ?>" size="50" />
120
+ 39 </label></dd>
121
+ 40 <dt>件名</dt>
122
+ 41 <dd><label>
123
+ 42 <input type="text" nane="subject" value="<?php echo $subject; ?>" size="50 " />
124
+ 43 </label></dd>
125
+ 44 <dt>内容</dt>
126
+ 45 <dd><label>
127
+ 46 <textarea name="body" cols="50" rows="10"><?php echo $body; ?></textarea>
128
+ 47 </label></dd>
129
+ 48
130
+ 49 <script src="zizai_captcha/captcha.php" type="text/javascript"></script>
131
+ 50 <script>zizai_captcha_show();</script><br>
132
+ 51
133
+ 52 <input type="submit" valeu="確認画面へ" />
134
+ 53 </p>
135
+ 54
136
+ 55 <input type="hidden" name="ticket" value="<?php echo $ticket; ?>" />
137
+ 56
138
+ 57 </form>
139
+ 58 </div>
140
+ 59 <p class="copy">
141
+ 60 &copy; 2010 PHP for Web Designer. All rights reserved.
142
+ 61 </p>
143
+ 62 </div>
144
+ 63 </body>
145
+ 64 </html>
146
+ ード
147
+ ```