detail_post.php

記事詳細ページはdetail_post.phpとしましょう。
例のごとく、FILL_INは各自で埋めてください。

<?php
// db_connect.phpの読み込み
FILL_IN

// function.phpの読み込み
FILL_IN

// ログインしていなければ、login.phpにリダイレクト
FILL_IN

// URLの?以降で渡されるIDをキャッチ
$id = $_GET['id'];
// もし、$idが空であったらmain.phpにリダイレクト
// 不正なアクセス対策
if (empty($id)) {
    header("Location: main.php");
    exit;
}

// PDOのインスタンスを取得
FILL_IN

try {
    // SQL文の準備
    FILL_IN
    // プリペアドステートメントの作成
    FILL_IN
    // idのバインド
    FILL_IN
    FILL_IN
} catch (PDOException $e) {
    // エラーメッセージの出力
    echo 'Error: ' . $e->getMessage();
    // 終了
    die();
}

// 結果が1行取得できたら
if (FILL_IN) {
    $id = $row['id'];
    $title = $row['title'];
    $content = $row['content'];
} else {
    // 対象のidでレコードがない => 不正な画面遷移
    echo "対象のデータがありません。";
}
?>
<!DOCTYPE html>
<html>
    <head>
        <title>記事詳細</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <table>
            <tr>
                <td>ID</td>
                <td><?php echo $id; ?></td>
            </tr>
            <tr>
                <td>タイトル</td>
                <td><?php echo $title; ?></td>
            </tr>
            <tr>
                <td>本文</td>
                <td><?php echo $content; ?></td>
            </tr>
        </table>
        <a href="create_comment.php?post_id=<?php echo $id ?>">この記事にコメントする</a><br />
        <a href="main.php">メインページに戻る</a>
    </body>
</html>

 

カテゴリー

アーカイブ

Close Bitnami banner
Bitnami