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

質問編集履歴

1

phpの追加

2017/08/21 12:20

投稿

dog57
dog57

スコア131

title CHANGED
File without changes
body CHANGED
@@ -146,7 +146,133 @@
146
146
 
147
147
  ```
148
148
 
149
+ 変更画面
150
+ ```php
151
+ <?php
149
152
 
153
+ header("Content-type: text/html; charset=utf-8");
150
154
 
155
+ require_once("index_db.php");
156
+
157
+
158
+ if(empty($_POST)) {
159
+ echo "<a href='update1.php'>update1.php</a>←こちらのページからどうぞ";
160
+ exit();
161
+ }else{
162
+ if (!isset($_POST['id']) || !is_numeric($_POST['id']) ){
163
+ echo "IDエラー";
164
+ exit();
165
+ }else{
166
+ //プリペアドステートメント
167
+ $stmt = $mysqli->prepare("SELECT * FROM member WHERE id=?");
168
+ if ($stmt) {
169
+ //プレースホルダへ実際の値を設定する
170
+ $stmt->bind_param('i', $id);
171
+ $id = $_POST['id'];
172
+
173
+ //クエリ実行
174
+ $stmt->execute();
175
+
176
+ //結果変数のバインド
177
+ $stmt->bind_result($id,$nation);
178
+ // 値の取得
179
+ $stmt->fetch();
180
+
181
+ //ステートメント切断
182
+ $stmt->close();
183
+ }else{
184
+ echo $mysqli->errno . $mysqli->error;
185
+ }
186
+ }
187
+ }
188
+
189
+ // データベース切断
190
+ $pdo = null;
191
+
192
+ ?>
193
+
194
+ <!DOCTYPE html>
195
+ <html>
196
+ <head>
197
+ <title>変更画面</title>
198
+ </head>
199
+ <body>
200
+ <h1>変更画面</h1>
201
+
202
+ <p>名前を変更して下さい。</p>
203
+ <form action="update3.php" method="post">
204
+ <input type="text" name="name" value="<?=htmlspecialchars($name, ENT_QUOTES, 'UTF-8')?>">
205
+ <input type="hidden" name="id" value="<?=$id?>">
206
+ <input type="submit" value="変更する">
207
+ </form>
208
+
209
+ </body>
210
+ </html>
211
+
212
+ ```
213
+
214
+ 変更完了画面
215
+ ```php
216
+ <?php
217
+  
218
+ header("Content-type: text/html; charset=utf-8");
219
+  
220
+ require_once(“index_db.php");
221
+
222
+  
223
+ if(empty($_POST)) {
224
+ echo "<a href='update1.php'>update1.php</a>←こちらのページからどうぞ";
225
+ exit();
226
+ }else{
227
+ //名前入力チェック
228
+ if (!isset($_POST['name'])  || $_POST['name'] === "" ){
229
+ $errors['name'] = "名前が入力されていません。";
230
+ }
231
+
232
+ if(count($errors) === 0){
233
+ //プリペアドステートメント
234
+ $stmt = $mysqli->prepare("UPDATE nation SET nation=? WHERE id=?");
235
+ if ($stmt) {
236
+ //プレースホルダへ実際の値を設定する
237
+ $stmt->bind_param('si', $nation, $id);
238
+ $name = $_POST[‘nation’];
239
+ $id = $_POST['id'];
240
+
241
+ //クエリ実行
242
+ $stmt->execute();
243
+ //ステートメント切断
244
+ $stmt->close();
245
+ }else{
246
+ echo $mysqli->errno . $mysqli->error;
247
+ }
248
+ }
249
+ }
250
+  
251
+ // データベース切断
252
+ $mysqli->close();
253
+
254
+ ?>
255
+  
256
+ <!DOCTYPE html>
257
+ <html>
258
+ <head>
259
+ <title>変更画面</title>
260
+ </head>
261
+ <body>
262
+ <h1>変更画面</h1>
263
+  
264
+ <?php if (count($errors) === 0): ?>
265
+ <p>変更完了しました。</p>
266
+ <?php elseif(count($errors) > 0): ?>
267
+ <?php
268
+ foreach($errors as $value){
269
+ echo "<p>".$value."</p>";
270
+ }
271
+ ?>
272
+ <?php endif; ?>
273
+  
274
+ </body>
275
+ </html>
276
+ ```
151
277
  ###補足情報(言語/FW/ツール等のバージョンなど)
152
278
  PHP 5.6.30,MyCentOS,vagrant,mysql Ver 14.14