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

回答編集履歴

1

追記

2017/11/10 10:48

投稿

退会済みユーザー
answer CHANGED
@@ -8,4 +8,50 @@
8
8
 
9
9
  > 動かないコードを提示して「教えてくれ」と言われても、「なんだかなー」って感じ。
10
10
 
11
- せめてエラーは潰して提示してほしいですね。
11
+ せめてエラーは潰して提示してほしいですね。
12
+
13
+ **追記**
14
+ とりあえずのレベルでエラーを潰すと以下のようになります。
15
+ ```php
16
+ <?php
17
+ $_SERVER['REQUEST_METHOD'] = "POST";
18
+ $_POST['name'] = NULL;
19
+
20
+ class Form_Data{
21
+ // 保管用変数
22
+ private $Form_data;
23
+ private $Err_data;
24
+ // 入力データ用
25
+ public function data_set($name, $data){
26
+ $this->Form_data[$name] = $data;
27
+ }
28
+ public function data_get($name){
29
+ return $this->Form_data[$name];
30
+ }
31
+ // エラー用
32
+ public function err_set($name, $data){
33
+ $this->Err_data[$name] = $data;
34
+ }
35
+ public function err_get($name){
36
+ return $this->Err_data[$name];
37
+ }
38
+ }
39
+
40
+ $fome_data = new Form_Data;
41
+
42
+ function Chack_Form($fd){
43
+ try{
44
+ if ($_POST["name"] == ""){
45
+ throw new Exception('POST が空です。');
46
+ }
47
+ $fd->data_set('name', $_POST['name']);
48
+ }catch(Exception $e){
49
+ $fd->err_set('name', $e->getMessage());
50
+ }
51
+ }
52
+
53
+ if ($_SERVER['REQUEST_METHOD'] == "POST"){
54
+ Chack_Form($fome_data);
55
+ echo $fome_data->err_get('name');
56
+ }
57
+ ```