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

質問編集履歴

1

キーを使ってみましたが、キーをつけたものの取り出し方がわかりません。

2020/02/23 22:25

投稿

YYmd0525
YYmd0525

スコア10

title CHANGED
File without changes
body CHANGED
@@ -45,6 +45,87 @@
45
45
  ```
46
46
 
47
47
 
48
+
49
+
50
+ **追記です↓ 20.02.24**
51
+
52
+ ```PHP
53
+ function validation ($data) {
54
+ $error = array();
55
+
56
+ //氏名のバリデーション
57
+ if ( empty($data['your_name'])) {
58
+ $error['your_name'] = "名前は必ず入力してください";
59
+ } elseif( 20 < mb_strlen($data['your_name']) ) {
60
+ $error['your_name'] = "名前は20文字以内で入力してください。";
61
+ }
62
+
63
+ if( empty($data['email'])){
64
+ $error['email'] = "メールアドレスは必ず入力してください";
65
+ } elseif( !preg_match( '/^[0-9a-z_./?-]+@([0-9a-z-]+.)+[0-9a-z-]+$/', $data['email']) ) {
66
+ $error['email'] = "「メールアドレス」は正しい形式で入力してください。";
67
+ }
68
+
69
+ if( empty($data['comment'])){
70
+ $error['comment'] = "コメントは必ず入力してください";
71
+ } elseif( 10 >= mb_strlen($data['comment']) ) {
72
+ $error['comment'] = "コメントは10文字以上で入力してください。";
73
+ }
74
+
75
+
76
+ return $error;
77
+ }
78
+ ```
79
+ ```HTML
80
+ <form method="post" action="">
81
+ <p>
82
+ <label>お名前:
83
+ <?php
84
+ if( !empty($error) ) {
85
+ foreach( $error as $key => $value ) {
86
+ echo $error['your_name'];
87
+ }
88
+ }
89
+ ?>
90
+ <input type="text" name="your_name" value="<?php if( !empty($clean['your_name']) ) echo $clean['your_name']; ?>">
91
+ </label>
92
+ </p>
93
+ <p>
94
+ <label>メールアドレス:
95
+ <?php
96
+ if( !empty($error) ) {
97
+ foreach( $error as $key => $value ) {
98
+ echo $error['email'];
99
+ }
100
+ }
101
+ ?>
102
+ <input type="text" name="email" value="<?php if( !empty($clean['email']) ) echo $clean['email']; ?>">
103
+ </label>
104
+ </p>
105
+ <p>
106
+ <label>コメント:
107
+ <?php
108
+ if( !empty($error) ) {
109
+ foreach( $error as $key => $value ) {
110
+ echo $error['comment'];
111
+ }
112
+ }
113
+ ?>
114
+ <textarea name="comment" name="comment"><?php if( !empty($clean['comment']) ) echo $clean['comment']; ?></textarea>
115
+ </label>
116
+ </p>
117
+ <p><input type="submit" value="送信前に確認する" name="btn_confirm"></p>
118
+ </form>
119
+ ```
120
+
121
+
122
+ ![![イメージ説明](6d5f9e20682cdf2d9533ffb0b3e70dbc.png)](a942cb43c8a7e64be201ecfa57a0b431.png)
123
+
124
+
125
+ 何も入力せずにsubmitすると、エラーメッセージは3回吐き出されます。
126
+ 何かを入力すると、your_nameのみUndefinedが出てしまいます。
127
+
128
+
48
129
  ### 説明
49
130
 
50
131