質問編集履歴
1
phpの追加
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
|