time()) {
// ログインしている
$_SESSION['time'] = time();
$sql = sprintf('SELECT * FROM members WHERE id=%d',
mysql_real_escape_string($_SESSION['id'])
);
$record = mysql_query($sql) or die(mysql_error());
$member = mysql_fetch_assoc($record);
} else {
// ログインしていない
header('Location: login.php');
// 投稿を記録する
if (!empty($_POST)) {
if ($_POST['message'] != '') {
$sql = sprintf('INSERT INTO posts SET member_id=%d, message="%s", reply_post_id=%d, created=NOW()',
mysql_real_escape_string($member['id']),
mysql_real_escape_string($_POST['message']),
mysql_real_escape_string($_POST['reply_post_id'])
);
mysql_query($sql) or die(mysql_error());
header('Location: index.php'); exit();
}
}
// 投稿を取得する
$page = $_REQUEST['page'];
if ($page == '') {
$page = 1;
}
$page = max($page, 1);
// 最終ページを取得する
$sql = 'SELECT COUNT(*) AS cnt FROM posts';
$recordSet = mysql_query($sql);
$table = mysql_fetch_assoc($recordSet);
$maxPage = ceil($table['cnt'] / 5);
$page = min($page, $maxPage);
$start = ($page - 1) * 5;
$start = max(0, $start);
$sql = sprintf('SELECT m.name, m.picture, p.* FROM members m, posts p WHERE m.id=p.member_id ORDER BY p.created DESC LIMIT %s, 5',
$start
);
$posts = mysql_query($sql) or die(mysql_error());
// 返信の場合
if (isset($_REQUEST['res'])) {
$sql = sprintf('SELECT m.name, m.picture, p.* FROM members m, posts p WHERE m.id=p.member_id AND p.id=%d ORDER BY p.created DESC',
mysql_real_escape_string($_REQUEST['res'])
);
$record = mysql_query($sql) or die(mysql_error());
$table = mysql_fetch_assoc($record);
$message = '@' . $table['name'] . ' ' . $table['message'];
}
// htmlspecialcharsのショートカット
function h($value) {
return htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
}
// 本文内のURLにリンクを設定します
function makeLink($value) {
return mb_ereg_replace("(https?)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)", '\1\2' , $value);
}
?>
ひとこと掲示板
0):
?>
エラーの内容としましては: syntax error, unexpected $end on line 163となります。
誰か教えてくれませんか?
- さん、メッセージをどうぞ
<div class="msg">
<img src="member_picture/<?php echo h($post['picture']); ?>" width="48" height="48" alt="<?php echo h($post['name']); ?>" />
<p><?php echo makeLink(h($post['message'])); ?><span class="name">(<?php echo h($post['name']); ?>)</span>[<a href="index.php?res=<?php echo h($post['id']); ?>">Re</a>]</p>
<p class="day"><a href="view.php?id=<?php echo h($post['id']); ?>"><?php echo h($post['created']); ?></a>
<a href="view.php?id=<?php echo h($post['reply_post_id']); ?>">返信元のメッセージ</a>
[<a href="delete.php?id=<?php echo h($post['id']); ?>" style="color: #F33;">削除</a>]
</p>
</div>