回答編集履歴

5

調整

2017/11/16 13:08

投稿

yambejp
yambejp

スコア114779

test CHANGED
@@ -96,11 +96,7 @@
96
96
 
97
97
  if($del==="all" and isset($_SESSION["data"])){
98
98
 
99
- foreach(array_keys($_SESSION["data"]) as $key){
100
-
101
- unset($_SESSION["data"][$key]);
99
+ unset($_SESSION["data"]);
102
-
103
- }
104
100
 
105
101
  }
106
102
 

4

調整

2017/11/16 13:07

投稿

yambejp
yambejp

スコア114779

test CHANGED
@@ -94,17 +94,15 @@
94
94
 
95
95
  }
96
96
 
97
- if($del==="all"){
97
+ if($del==="all" and isset($_SESSION["data"])){
98
-
98
+
99
- foreach(array_keys($_SESSION) as $key){
99
+ foreach(array_keys($_SESSION["data"]) as $key){
100
-
100
+
101
- unset($_SESSION[$key]);
101
+ unset($_SESSION["data"][$key]);
102
102
 
103
103
  }
104
104
 
105
- }
105
+ }
106
-
107
-
108
106
 
109
107
  $name = filter_input(INPUT_POST,'username');
110
108
 

3

修正

2017/11/16 12:53

投稿

yambejp
yambejp

スコア114779

test CHANGED
@@ -73,3 +73,143 @@
73
73
  </table>
74
74
 
75
75
  ```
76
+
77
+
78
+
79
+ # 完全修正版
80
+
81
+
82
+
83
+ ```PHP
84
+
85
+ <?php
86
+
87
+ session_start();
88
+
89
+ $del = filter_input(INPUT_GET,'del');
90
+
91
+ if(!is_null($del) and isset($_SESSION["data"]) and isset($_SESSION["data"][$del])){
92
+
93
+ unset($_SESSION["data"][$del]);
94
+
95
+ }
96
+
97
+ if($del==="all"){
98
+
99
+ foreach(array_keys($_SESSION) as $key){
100
+
101
+ unset($_SESSION[$key]);
102
+
103
+ }
104
+
105
+ }
106
+
107
+
108
+
109
+ $name = filter_input(INPUT_POST,'username');
110
+
111
+ $title = filter_input(INPUT_POST,'title');
112
+
113
+ $email = filter_input(INPUT_POST,'email');
114
+
115
+ if(!isset($_SESSION["data"])){
116
+
117
+ $_SESSION["data"]=[];
118
+
119
+ }
120
+
121
+ if(!is_null($name)){
122
+
123
+ $_SESSION["data"][]=["name"=>$name,"title"=>$title,"email"=>$email];
124
+
125
+ }
126
+
127
+ ?>
128
+
129
+ [ <a href="<?php echo $_SERVER["SCRIPT_NAME"];?>">リロード</a>
130
+
131
+ | <a href="<?php echo $_SERVER["SCRIPT_NAME"];?>?del=all">全削除</a> ]
132
+
133
+ <hr>
134
+
135
+ <form action="<?php echo $_SERVER["SCRIPT_NAME"];?>" method="post">
136
+
137
+ 名前:<input type="text" name="username"><br>
138
+
139
+ タイトル:<input type="text" name="title"><br>
140
+
141
+ メールアドレス:<input type="text" name="email"><br>
142
+
143
+ <input type="submit" name="exe" value="送信じゃい!">
144
+
145
+ </form>
146
+
147
+ <table border>
148
+
149
+ <thead>
150
+
151
+ <tr>
152
+
153
+ <th>名前</th>
154
+
155
+ <th>タイトル</th>
156
+
157
+ <th>email</th>
158
+
159
+ <th>-</th>
160
+
161
+ </tr>
162
+
163
+ </thead>
164
+
165
+ <tbody>
166
+
167
+ <?php
168
+
169
+ foreach($_SESSION["data"] as $key=>$row){
170
+
171
+ echo '<tr>';
172
+
173
+ echo '<td>'.htmlspecialchars($row["name"]).'</td>';
174
+
175
+ echo '<td>'.htmlspecialchars($row["title"]).'</td>';
176
+
177
+ echo '<td>'.htmlspecialchars($row["email"]).'</td>';
178
+
179
+ echo '<td><a href="?del='.$key.'">del</a></td>';
180
+
181
+ echo '</tr>';
182
+
183
+ }
184
+
185
+ ?>
186
+
187
+ </tr>
188
+
189
+ </tbody>
190
+
191
+ </table>
192
+
193
+ <hr>
194
+
195
+ <?php
196
+
197
+ echo '<pre>';
198
+
199
+ ob_start();
200
+
201
+ var_dump($_SESSION);
202
+
203
+ $content=ob_get_contents();
204
+
205
+ ob_end_clean();
206
+
207
+ print htmlspecialchars($content);
208
+
209
+ echo '</pre>';
210
+
211
+ ?>
212
+
213
+
214
+
215
+ ```

2

調整

2017/11/16 12:50

投稿

yambejp
yambejp

スコア114779

test CHANGED
@@ -12,13 +12,17 @@
12
12
 
13
13
  $email = filter_input(INPUT_POST,'email');
14
14
 
15
- $_SESSION['name']= $name;
15
+ if(!is_null($name)) $_SESSION['name']= $name;
16
16
 
17
- $_SESSION['title']= $title;
17
+ if(!is_null($title)) $_SESSION['title']= $title;
18
18
 
19
- $_SESSION['email']= $email;
19
+ if(!is_null($email)) $_SESSION['email']= $email;
20
20
 
21
21
  ?>
22
+
23
+ [ <a href="<?php echo $_SERVER["SCRIPT_NAME"];?>">リロード</a> ]
24
+
25
+ <hr>
22
26
 
23
27
  <form action="" method="post">
24
28
 

1

修正

2017/11/16 11:40

投稿

yambejp
yambejp

スコア114779

test CHANGED
@@ -67,3 +67,5 @@
67
67
  </tr>
68
68
 
69
69
  </table>
70
+
71
+ ```