上のコードが編集ページで、真ん中のコードが編集すると遷移する編集実行ページです。下は共通のファイルです。
エラーは出ないのですが、編集しても他のページやデータベースで確認しても元のままになっています。
php
1//update.php 2<?php require('dbconnect.php'); ?> 3<!doctype html> 4<html lang="ja"> 5<head> 6 <meta charset="utf-8"> 7</head> 8<body> 9 <main> 10 <h2>practice</h2> 11 <?php 12 if (isset($_REQUEST['id']) && is_numeric($_REQUEST['id'])) { 13 $id = $_REQUEST['id']; 14 15 $memos = $db->prepare('SELECT * FROM memos WHERE id=?'); 16 $memos->execute(array($id)); 17 $memo = $memos->fetch(); 18 } 19 ?> 20 <form action="update_do.php" method="post"> 21 <input type="hidden" name="id" value="<?php echo $id; ?>"> 22 <textarea name="memo" cols=50 rows=10><?php echo $memo['memo']; ?></textarea><br> 23 <button type="submit">登録する</button> 24 </form> 25 </main> 26</body> 27</html> 28
php
1//update_do.php 2<?php require('dbconnect.php'); ?> 3<!doctype html> 4<html lang="ja"> 5<head> 6 <meta charset="utf-8"> 7</head> 8<body> 9 <main> 10 <h2>practice</h2> 11 <?php 12 $statement = $db->prepare('UPDATE memos set memo=? WHERE id=?'); 13 $statement->execute(array($_POST['memo'], $_POST['id'])); 14 ?> 15 <p>メモの内容を変更しました</p> 16 <P><a href="index.php">戻る</a></p> 17 </main> 18</body> 19</html> 20
php
1//dbconnect.php 2<?php 3try { 4 $db = new PDO('mysql:dbname=mydb;host=localhost;charset=utf8', 'root', 'root'); 5} catch (PDOException $e) { 6 echo 'DB接続エラー:' . $e->getMessage(); 7} 8?> 9
回答2件
あなたの回答
tips
プレビュー