シンプルなブログを作成する: PHP と SQLite を使用する
インターネットの発展に伴い、ブログはますます多くの人々が自分の生活、知識、アイデアを共有するためのプラットフォームになりました。自分のブログも作成したい場合は、この記事で PHP と SQLite を使用して簡単なブログを作成する方法を紹介します。
- 要件を決定する
ブログの作成を開始する前に、実現したい機能を決定する必要があります。例:
- ブログ投稿の作成
- ブログ投稿の編集
- ブログ投稿の削除
- ブログ投稿リストの表示
- 表示ブログ記事の詳細
- ユーザー認証と権限制御
- PHP と SQLite のインストール
ブログを作成するには、PHP と SQLite をインストールする必要があります。 。ここでは、PHP と SQLite が統合された XAMPP を使用します。 XAMPP は https://www.apachefriends.org/download.html からダウンロードできます。
- データベースの作成
ブログを作成する前に、ブログ投稿を管理するためのデータベースを作成する必要があります。 SQLite を使用してデータベースを作成できます。 XAMPP コントロール パネルで、Apache サービスと MySQL サービスを開始した後、phpMyAdmin を使用して SQLite データベースを作成できます。
phpMyAdmin で、「データベース」をクリックし、データベース名と文字セット (blog、utf8mb4_general_ci など) を入力し、「作成」ボタンをクリックしてデータベースを作成します。
- データベースの初期化
データベースを作成した後、データベースを初期化する必要があります。ブログデータベースにテーブルを作成して、ブログ投稿情報を保存します。次の SQL ステートメントを使用できます:
CREATE TABLE IF NOT EXISTS `posts` ( `id` INTEGER PRIMARY KEY AUTOINCREMENT, `title` varchar(255) NOT NULL, `content` text, `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP );
この SQL ステートメントは、posts という名前のテーブルを作成します。このテーブルには、id、title、content、created_at の 4 つのフィールドが含まれます。このうち、id は主キーであり、自動インクリメントされます。title はタイトルであり、空にすることはできません。content はコンテンツであり、空にすることはできます。created_at は作成時刻であり、空にすることはできません。デフォルト値は現在の時刻。
- ブログ ページの作成
これで、PHP コードの作成を開始できます。まず、index.php というファイルを作成します。このファイルでは、ブログ投稿のリストを表示できます。次の PHP コードを使用できます。
<?php $db = new SQLite3('blog.db'); $results = $db->query('SELECT * FROM posts ORDER BY created_at DESC'); while ($row = $results->fetchArray()) { ?> <article> <h2><a href="post.php?id=<?php echo $row['id']; ?>"><?php echo $row['title']; ?></a></h2> <p><?php echo $row['content']; ?></p> <time datetime="<?php echo $row['created_at']; ?>"><?php echo $row['created_at']; ?></time> </article> <?php } ?>
この PHP コードでは、SQLite3 拡張機能を使用して、前に作成した SQLite データベースに接続します。クエリ ステートメントを使用して、posts テーブル内のすべての記事を取得し、作成時間の降順に並べ替えます。次に、while ループを使用して、各記事のタイトル、内容、作成時刻を記事タグに入力します。タイトルにaタグを使用すると、タイトルから記事詳細ページにリンクします。
- 記事詳細ページの作成
前のステップではブログ記事一覧の表示を作成しましたが、ブログ記事の表示も実装する必要があります。詳細ページ。 post.php というファイルを作成して、1 つのブログ投稿の詳細を表示できます。
<?php $id = intval($_GET['id']); $db = new SQLite3('blog.db'); $stmt = $db->prepare('SELECT * FROM posts WHERE id=:id'); $stmt->bindParam(':id', $id, SQLITE3_INTEGER); $result = $stmt->execute(); $row = $result->fetchArray(); ?> <article> <h2><?php echo $row['title']; ?></h2> <p><?php echo $row['content']; ?></p> <time datetime="<?php echo $row['created_at']; ?>"><?php echo $row['created_at']; ?></time> </article>
この PHP コードは、post.php ページから渡された記事 ID を取得し、クエリ ステートメントを使用して指定された ID の記事情報を取得し、記事のタイトル、内容、作成時刻を表示します。鬼ごっこ。
- 記事の追加・削除・修正機能の作成
これでブログ記事一覧と詳細ページの表示は実装できましたが、作成機能も実装する必要があります。 、ブログ記事の編集、削除機能。これを実現するには、次のコードを使用します。
記事の作成:
<?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { $title = $_POST['title']; $content = $_POST['content']; $db = new SQLite3('blog.db'); $stmt = $db->prepare('INSERT INTO posts(title, content) VALUES(:title, :content)'); $stmt->bindParam(':title', $title, SQLITE3_STRING); $stmt->bindParam(':content', $content, SQLITE3_TEXT); $stmt->execute(); header('Location: index.php'); exit(); } ?> <form method="POST" action=""> <div> <label>Title</label> <input type="text" name="title" /> </div> <div> <label>Content</label> <textarea name="content"></textarea> </div> <div> <button type="submit">Create</button> </div> </form>
記事の編集:
<?php $id = intval($_GET['id']); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $title = $_POST['title']; $content = $_POST['content']; $db = new SQLite3('blog.db'); $stmt = $db->prepare('UPDATE posts SET title=:title, content=:content WHERE id=:id'); $stmt->bindParam(':title', $title, SQLITE3_STRING); $stmt->bindParam(':content', $content, SQLITE3_TEXT); $stmt->bindParam(':id', $id, SQLITE3_INTEGER); $stmt->execute(); header('Location: post.php?id=' . $id); exit(); } $db = new SQLite3('blog.db'); $stmt = $db->prepare('SELECT * FROM posts WHERE id=:id'); $stmt->bindParam(':id', $id, SQLITE3_INTEGER); $result = $stmt->execute(); $row = $result->fetchArray(); ?> <form method="POST" action=""> <div> <label>Title</label> <input type="text" name="title" value="<?php echo $row['title']; ?>" /> </div> <div> <label>Content</label> <textarea name="content"><?php echo $row['content']; ?></textarea> </div> <div> <button type="submit">Save</button> </div> </form>
記事の削除:
<?php $id = intval($_GET['id']); if ($_SERVER['REQUEST_METHOD'] == 'POST') { $db = new SQLite3('blog.db'); $stmt = $db->prepare('DELETE FROM posts WHERE id=:id'); $stmt->bindParam(':id', $id, SQLITE3_INTEGER); $stmt->execute(); header('Location: index.php'); exit(); } $db = new SQLite3('blog.db'); $stmt = $db->prepare('SELECT * FROM posts WHERE id=:id'); $stmt->bindParam(':id', $id, SQLITE3_INTEGER); $result = $stmt->execute(); $row = $result->fetchArray(); ?> <p>Are you sure you want to delete "<?php echo $row['title']; ?>"?</p> <form method="POST" action=""> <button type="submit">Delete</button> <a href="post.php?id=<?php echo $id; ?>">Cancel</a> </form>
- User認証と権限制御
<?php if ($_SERVER['PHP_AUTH_USER'] != 'admin' || $_SERVER['PHP_AUTH_PW'] != 'password') { header('WWW-Authenticate: Basic realm="My Blog"'); header('HTTP/1.0 401 Unauthorized'); echo 'You must be authorized to access this page.'; exit(); } ?>
以上がシンプルなブログを作成する: PHP と SQLite を使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP へのログインは非常に簡単な作業です。使用する関数は 1 つだけです。 cronjob などのバックグラウンド プロセスのエラー、例外、ユーザー アクティビティ、ユーザーが実行したアクションをログに記録できます。 CakePHP でのデータのログ記録は簡単です。 log()関数が提供されています

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。
