簡易掲示板の返信の為の Re をクリックすると添付画像2のエラーが発生してしまう。
本来であれば投稿文に@ 名前 メッセージが表示されるべきである。
申し訳ございませんがお知恵をお貸しください。
よろしくお願い致します。
php
1<?php 2session_start(); 3require('dbconnect.php'); 4 5if(isset($_SESSION['id']) && $_SESSION['time'] + 3600 > time()){ 6 $_SESSION['time'] = time(); 7 $members = $db->prepare('SELECT * FROM members WHERE id=?'); 8 $members ->execute(array($_SESSION['id'])); 9 $member = $members ->fetch(); 10} else { 11 header('Location: login.php'); 12 exit(); 13} 14 15if(!empty($_POST)){ 16 if($_POST['message'] !==''){ 17 $message = $db ->prepare('INSERT INTO posts SET member_id=?, message=?, created=NOW()'); 18 $message ->execute(array( 19 $member['id'], 20 $_POST['message'] 21 )); 22 header('Location:index.php'); 23 exit(); 24 } 25} 26$posts = $db->query('SELECT m.name, m.picture, p.* FROM members m, posts p WHERE m.id=p.member_id ORDER BY p.created DESC'); 27 28if(isset($_REQUEST['res'])){ 29 // 返信の処理 30 $response = $db->prepare('SELECT m.name, m.picture, p.* FROM members m, posts p WHERE m.id=p.member_id AND p.id=?'); 31 $response -> $execute(array($_REQUEST['res'])); 32 $table = $response -> fetch(); 33 $message = '@' . $table['name'] . ' ' . $table['message']; 34} 35 36?> 37<!DOCTYPE html> 38<html lang="ja"> 39<head> 40 <meta charset="UTF-8"> 41 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 42 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 43 <title>ひとこと掲示板</title> 44 45 <link rel="stylesheet" href="style.css" /> 46</head> 47 48<body> 49<div id="wrap"> 50 <div id="head"> 51 <h1>ひとこと掲示板</h1> 52 </div> 53 <div id="content"> 54 <div style="text-align: right"><a href="logout.php">ログアウト</a></div> 55 <form action="" method="post"> 56 <dl> 57 <dt><?php print(htmlspecialchars($member['name'], ENT_QUOTES)); ?>さん、メッセージをどうぞ</dt> 58 <dd> 59 <textarea name="message" cols="50" rows="5"> <?php print(htmlspecialchars($message,ENT_QUOTES)); ?> </textarea> 60 <input type="hidden" name="reply_post_id" value="" /> 61 </dd> 62 </dl> 63 <div> 64 <p> 65 <input type="submit" value="投稿する" /> 66 </p> 67 </div> 68 </form> 69 70 71<?php foreach($posts as $post): ?> 72 <div class="msg"> 73 <img src="member_picture/<?php print(htmlspecialchars($post['picture'], ENT_QUOTES)); ?>" width="48" height="48" alt="<?php print(htmlspecialchars($post['name'], ENT_QUOTES)); ?>" /> 74 <p><?php print(htmlspecialchars($post['message'],ENT_QUOTES)); ?><span class="name">(<?php print(htmlspecialchars($post['name'], ENT_QUOTES));?>)</span>[<a href="index.php?res=<?php print(htmlspecialchars($post['id'], ENT_QUOTES));?>">Re</a>]</p> 75 <p class="day"><a href="view.php?id="><?php print(htmlspecialchars($post['created'], ENT_QUOTES)); ?><</a> 76<a href="view.php?id="> 77返信元のメッセージ</a> 78[<a href="delete.php?id=" 79style="color: #F33;">削除</a>] 80 </p> 81 </div> 82<?php endforeach; ?> 83 84<ul class="paging"> 85<li><a href="index.php?page=">前のページへ</a></li> 86<li><a href="index.php?page=">次のページへ</a></li> 87</ul> 88 </div> 89</div> 90</body> 91</html> 92
回答1件
あなたの回答
tips
プレビュー