07メモを編集する
では新たにindex.phpと同じ階層に「edit.php」を作成してください。
memo_php
├── css
│ └── style.css
├── index.php
├── delete.php
├── edit.php // 追加
├── update.php // 追加
├── insert.php
├── select.php
└── dbConnection.php作成できたら以下のコードをコピーしましょう。
edit.php
<?php
include './dbConnection.php';
if (isset($_POST["edit_id"])) {
$edit_id = $_POST["edit_id"];
/*sql文*/
$sql = "SELECT * FROM memo WHERE id = '$edit_id'";
$memo_info = $dbh->query($sql)->fetch();
}
?>
<!doctype html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>メモ帳</title>
<link rel="stylesheet" href="./css/style.css" type="text/css">
</head>
<body>
<div class="container">
<div class="memo_area">
<div class="memo_form">
<h2>メモを編集</h2>
<form method="post" action="update.php">
<input type="hidden" name="memo_id" value="<?php echo $memo_info["id"] ?>">
<input class="memo_text" type="text" name="edit_body" value="<?php echo $memo_info["body"]?>">
<input type="submit" value="編集">
</form>
</div>
</div>
</div>
</body>
</html>index.php
<?php
include './dbConnection.php';
// ここに追加
include './edit.php';
include './delete.php';
include './insert.php';
include './select.php';index.php
<div class="edit_form">
<form action="edit.php" method="post">
<input type="hidden" name="edit_id" value="<?php echo $memo['id'] ?>">
<input type="submit" value="編集">
</form>
</div>update.php
<?php
include './dbConnection.php';
// 対象のメモを上書きする
if (isset($_POST["memo_id"])) {
$body = $_POST["edit_body"];
$memo_id= $_POST["memo_id"];
/*sql文*/
$sql = "UPDATE memo SET body = '$body' WHERE id = '$memo_id'";
/*bindValue関数でバインドする*/
$result = $dbh->prepare($sql);
$result->execute();
}
/*処理が完了したら index.php にリダイレクト*/
header("Location: index.php");
/*リダイレクト後にスクリプトの実行を停止*/
exit;index.php
<?php
include './dbConnection.php';
// ここに追加
include './update.php';
include './edit.php';
include './delete.php';
include './insert.php';
include './select.php';まず<input type="hidden" name="edit_id" value="<?php echo $memo['id'] ?>">の部分ですが、先ほどと同じく編集対象のメモのIDを取得しています。
そして、取得したIDを<form action="edit.php" method="post">でedit.phpにデータを送信しています。
"UPDATE memo SET body = '$body' WHERE id = '$memo_id'";ではSQLのUPDATE文を用いてbodyを上書きしています。
Git
// 前のcommitからの差分を確認
git diff
git add .
git commit -m "追加"ここでは加えて、Githubにリモートリポジトリを作成して、そこにpushをしてもらいます。
リモートリポジトリの作成方法とpushの方法は、Gitの教材を参考にしてください。
リモートリポジトリの名称は自由につけてくださってかまいませんが、「kadai-phpsql」などの教材のリポジトリか分かりやすい名称がおすすめです。
コメントを残す