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

回答編集履歴

3

ふるい

2019/09/18 08:25

投稿

yambejp
yambejp

スコア118110

answer CHANGED
@@ -36,4 +36,25 @@
36
36
  ```PHP
37
37
  if(isset($_POST["name"]) and $_POST["name"]!==""){ ・・・
38
38
  ```
39
- みたいな処理になります
39
+ みたいな処理になります
40
+
41
+ # 古い書き方
42
+ ```PHP
43
+ <?PHP
44
+ $options=array("options"=>array("regexp"=>"/./"));
45
+ $name = filter_input(INPUT_POST, "name",FILTER_VALIDATE_REGEXP,$options);
46
+ $comment = filter_input(INPUT_POST, "comment",FILTER_VALIDATE_REGEXP,$options);
47
+ var_dump(array($name,$comment));
48
+ ?>
49
+
50
+ <form method="post" >
51
+ <label for="name-field">お名前<span style="color: red;">【必須】</span><br>
52
+ </label>
53
+ <input type="text" name="name" id="name-field">
54
+ <label for="comment">コメント<span style="color: red;">【必須】</span></label>
55
+ <br>
56
+ <textarea name="comment" cols="30" rows="3" id="comment">
57
+ </textarea>
58
+ <input type="submit" value="投稿">
59
+ </form>
60
+ ```

2

ちょうせい

2019/09/18 08:25

投稿

yambejp
yambejp

スコア118110

answer CHANGED
@@ -32,4 +32,8 @@
32
32
  - 空の文字が送られてきた場合はfalseになります
33
33
 
34
34
  仮に空の文字が送られてきても、「空で送られてきた」という情報が渡るので
35
- issetでは弾けません
35
+ issetでやる場合
36
+ ```PHP
37
+ if(isset($_POST["name"]) and $_POST["name"]!==""){ ・・・
38
+ ```
39
+ みたいな処理になります

1

調整

2019/09/18 07:05

投稿

yambejp
yambejp

スコア118110

answer CHANGED
@@ -6,4 +6,30 @@
6
6
  <textarea name="comment" cols="30" rows="3" id="comment" required="required"></textarea>
7
7
  ```
8
8
  textareaはすぐ閉じてください
9
- 1回の改行マークまでは許されますがrequiredを前提にするならすぐ閉じた方がより直感的
9
+ 1回の改行マークまでは許されますがrequiredを前提にするならすぐ閉じた方がより直感的
10
+
11
+ # postデータの取扱
12
+ 検証のため一度requiredは外して以下確認ください
13
+ ```php
14
+ <?PHP
15
+ $name = filter_input(INPUT_POST, "name",FILTER_VALIDATE_REGEXP,["options"=>["regexp"=>"/./"]]);
16
+ $comment = filter_input(INPUT_POST, "comment",FILTER_VALIDATE_REGEXP,["options"=>["regexp"=>"/./"]]);
17
+ var_dump([$name,$comment]);
18
+ ?>
19
+
20
+ <form method="post" >
21
+ <label for="name-field">お名前<span style="color: red;">【必須】</span><br>
22
+ </label>
23
+ <input type="text" name="name" id="name-field">
24
+ <label for="comment">コメント<span style="color: red;">【必須】</span></label>
25
+ <br>
26
+ <textarea name="comment" cols="30" rows="3" id="comment">
27
+ </textarea>
28
+ <input type="submit" value="投稿">
29
+ </form>
30
+ ```
31
+ - postデータが送られてこない場合はnullになります
32
+ - 空の文字が送られてきた場合はfalseになります
33
+
34
+ 仮に空の文字が送られてきても、「空で送られてきた」という情報が渡るので
35
+ issetでは弾けません