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

質問編集履歴

4

form_test3\.incにパラメータ初期化を加えました。

2017/04/13 17:33

投稿

YukaSaku
YukaSaku

スコア52

title CHANGED
File without changes
body CHANGED
@@ -94,6 +94,12 @@
94
94
  * Description: Defines a form that collects a user's
95
95
  * name and phone number.
96
96
  */
97
+ //Initialization
98
+ $first_name = "";//string initialization
99
+ $middle_name = "";//string initialization
100
+ $last_name = "";//string initialization
101
+ $phone = "";//integer string initialization
102
+
97
103
  $labels = array( "first_name" => "First Name",
98
104
  "middle_name" => "Middle Name",
99
105
  "last_name" => "Last Name",

3

checkblank_2\.phpの波括弧を出来るだけ削除した

2017/04/13 17:33

投稿

YukaSaku
YukaSaku

スコア52

title CHANGED
File without changes
body CHANGED
@@ -12,54 +12,54 @@
12
12
  ```
13
13
  ---------------checkblank_2.php -----------------------
14
14
  <?php
15
- /* Program name: checkblank_2.php
15
+ /* Program name: checkBlankOnly_2.php
16
16
  * Description: Program displays the blank form and checks
17
17
  * all the form fields for blank fields.
18
18
  */
19
19
 
20
- {
20
+
21
21
  foreach($_POST as $field => $value)
22
22
  echo $value;
23
23
  echo $field;
24
24
  echo $name_patt;
25
- {
25
+
26
26
  if(!empty($value))
27
27
  echo $value;
28
28
  echo $field;
29
29
  echo $name_patt;
30
30
  //name
31
- {
31
+
32
32
  $name_patt = "/^[A-Za-z' -]{1,50}$/";
33
33
  $phone_patt = "/^[0-9)(xX -]{7,20}$/";
34
34
  $radio_patt = "/(new|changed)/";
35
35
  if(preg_match("/name/i",$field))
36
- {
36
+
37
37
  if(!preg_match($name_patt,$value))
38
- {
38
+
39
39
  echo $name_patt;
40
40
  $error_array[] = "$value is not a valid name";
41
- }
41
+
42
- }
42
+
43
43
 
44
- }
44
+
45
45
  //phone
46
46
  if(preg_match("/phone/i",$field))
47
- {
47
+
48
48
  if(!preg_match($phone_patt,$value))
49
- {
49
+
50
50
  $error_array[] = "$value is not a valid phone number";
51
- }
51
+
52
- } // endif phone format check
52
+ // endif phone format check
53
53
  if(preg_match("/status/i",$field))
54
- {
54
+
55
55
  if(!preg_match($radio_patt,$value))
56
- {
56
+
57
57
  $error_array[] = "$value is not a valid status";
58
- }
58
+
59
- }
59
+
60
60
 
61
61
  $clean_data[$field] = strip_tags(trim($value));
62
- }
62
+
63
63
  if(@sizeof($error_array) > 0)
64
64
  {
65
65
  $message = "<p style='color: red; margin-bottom: 0;
@@ -70,9 +70,9 @@
70
70
  list-style: none' >";
71
71
  /* display list of missing information */
72
72
  foreach($error_array as $value)
73
- {
73
+
74
74
  $message .= "<li>$value</li>";
75
- }
75
+
76
76
  $message .= "</ul>";
77
77
  echo $message;
78
78
  extract($clean_data);
@@ -81,13 +81,14 @@
81
81
  }
82
82
 
83
83
  else
84
- {
84
+
85
85
  echo "Data is all okay";
86
- }
87
86
  include("form_test3.inc");
88
- }
87
+
89
88
  ?>
90
-
89
+ ```
90
+ ```
91
+ ----------------------form_test3.inc--------------------
91
92
  <?php
92
93
  /* Program name: form_test3.inc
93
94
  * Description: Defines a form that collects a user's
@@ -126,9 +127,7 @@
126
127
  <body>
127
128
  <h3>Please enter your phone number below</h3>
128
129
  <input type='hidden' name='submitted' value='yes'>
129
- ```
130
+
130
- ```
131
- ----------------------form_test3.inc--------------------
132
131
  <?php
133
132
  /* loop that displays the form */
134
133
  if(isset($_POST['submitted']) and $_POST['submitted'] == "yes")

2

項目ごとにCodeで囲みました。

2017/04/13 15:40

投稿

YukaSaku
YukaSaku

スコア52

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- PHPで簡単なフォームを作りました。
1
+ ```PHPで簡単なフォームを作りました。
2
2
  入力項目はFirst name, Middle name, Last name, Phoneの4つです。
3
3
  First nameに数字123が入力されたら、” 123 is not a valid name.”と出力したい。
4
4
  ```
@@ -7,11 +7,10 @@
7
7
  本当なら、Name(String項目)に123と数字を入力したら
8
8
  「"123 is not a valid name"」と出るはず。
9
9
 
10
-
10
+ ```
11
11
  ###該当のソースコード
12
- ```PHP
13
- ここにご自身が実行したソースコードを書いてください
14
12
  ```
13
+ ---------------checkblank_2.php -----------------------
15
14
  <?php
16
15
  /* Program name: checkblank_2.php
17
16
  * Description: Program displays the blank form and checks
@@ -127,6 +126,8 @@
127
126
  <body>
128
127
  <h3>Please enter your phone number below</h3>
129
128
  <input type='hidden' name='submitted' value='yes'>
129
+ ```
130
+ ```
130
131
  ----------------------form_test3.inc--------------------
131
132
  <?php
132
133
  /* loop that displays the form */
@@ -151,6 +152,8 @@
151
152
  </form>
152
153
  </body>
153
154
  </html>
155
+ ```
156
+ ```
154
157
  ---------------------display_form.php-----------------
155
158
  <!doctype html>
156
159
  <html>
@@ -177,6 +180,7 @@
177
180
  ?>
178
181
  </body>
179
182
  </html>
183
+ ```
180
184
  ###試したこと
181
185
  出力されるエラーメッセージがちょっとおかしいので、echoでパラメータにどんなデータが入ってきてるのか見る為、First nameに1234、Middle nameに123と入力し、あとはブランクでSubmitすると、
182
186
  「1234123newSubmit Phone NumberphoneButtonSubmit Phone NumberphoneButton」

1

タグの変更

2017/04/13 14:58

投稿

YukaSaku
YukaSaku

スコア52

title CHANGED
File without changes
body CHANGED
@@ -1,9 +1,8 @@
1
- ###前提・実現したいこと
2
1
  PHPで簡単なフォームを作りました。
3
2
  入力項目はFirst name, Middle name, Last name, Phoneの4つです。
4
3
  First nameに数字123が入力されたら、” 123 is not a valid name.”と出力したい。
5
4
  ```
6
- エラーメッセージ
5
+
7
6
  ```
8
7
  本当なら、Name(String項目)に123と数字を入力したら
9
8
  「"123 is not a valid name"」と出るはず。