Rumah pembangunan bahagian belakang tutorial php Buat blog mudah: menggunakan PHP dan SQLite

Buat blog mudah: menggunakan PHP dan SQLite

Jun 21, 2023 pm 01:23 PM
php blog sqlite

Dengan perkembangan Internet, blog telah menjadi platform untuk lebih ramai orang berkongsi kehidupan, pengetahuan dan idea mereka. Jika anda juga ingin membuat blog sendiri, maka artikel ini akan memperkenalkan cara menggunakan PHP dan SQLite untuk membuat blog yang mudah.

  1. Tentukan keperluan

Sebelum kita mula membuat blog, kita perlu tentukan fungsi yang ingin kita capai. Contohnya:

  • Buat catatan blog
  • Edit catatan blog
  • Padam catatan blog
  • Tunjukkan senarai catatan blog
  • Tunjukkan blog Butiran artikel
  • Pengesahan pengguna dan kawalan kebenaran
  1. Pasang PHP dan SQLite

Kami perlu memasang PHP dan SQLite untuk membuat blog . Di sini kami menggunakan XAMPP, yang mempunyai integrasi PHP dan SQLite. XAMPP boleh dimuat turun di https://www.apachefriends.org/download.html.

  1. Buat pangkalan data

Sebelum mencipta blog, kita perlu mencipta pangkalan data untuk mengurus catatan blog. Kita boleh menggunakan SQLite untuk mencipta pangkalan data. Dalam panel kawalan XAMPP, selepas memulakan perkhidmatan Apache dan MySQL, anda boleh menggunakan phpMyAdmin untuk mencipta pangkalan data SQLite.

Dalam phpMyAdmin, klik Pangkalan Data, masukkan nama pangkalan data dan set aksara, seperti blog, utf8mb4_general_ci, dan kemudian klik butang Cipta untuk mencipta pangkalan data.

  1. Memulakan pangkalan data

Selepas mencipta pangkalan data, kita perlu memulakan pangkalan data. Buat jadual dalam pangkalan data blog untuk menyimpan maklumat catatan blog. Anda boleh menggunakan pernyataan SQL berikut:

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
);
Salin selepas log masuk

Pernyataan SQL ini mencipta jadual bernama siaran Jadual mengandungi empat medan: id, tajuk, kandungan dan create_at. Antaranya, id ialah kunci utama dan ditambah secara automatik masa semasa.

  1. Buat Halaman Blog

Sekarang kita boleh mula menulis kod PHP. Mula-mula, kami mencipta fail bernama index.php. Dalam fail ini, kita boleh memaparkan senarai catatan blog. Kod PHP berikut boleh digunakan:

<?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
  }
?>
Salin selepas log masuk

Kod PHP ini menggunakan sambungan SQLite3 untuk menyambung ke pangkalan data SQLite yang kami buat sebelum ini. Gunakan pernyataan pertanyaan untuk mendapatkan semua artikel dalam jadual siaran dan isikannya dalam susunan menurun mengikut masa penciptaan. Kemudian, gunakan gelung sementara untuk meletakkan tajuk, kandungan dan masa penciptaan setiap artikel ke dalam teg artikel. Gunakan teg a dalam tajuk untuk memautkan tajuk ke halaman butiran artikel.

  1. Buat halaman butiran artikel

Dalam langkah sebelumnya, kami mencipta paparan senarai artikel blog, tetapi kami juga perlu melaksanakan paparan artikel blog halaman butiran. Kita boleh mencipta fail yang dipanggil post.php untuk memaparkan butiran satu catatan blog.

<?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>
Salin selepas log masuk

Kod PHP ini memperoleh id artikel yang diluluskan dari halaman post.php, kemudian menggunakan pernyataan pertanyaan untuk mendapatkan maklumat artikel id yang ditentukan, dan memaparkan tajuk artikel, kandungan dan masa penciptaan dalam artikel tag.

  1. Fungsi menambah, memadam dan mengubah suai artikel

Kini kami telah melaksanakan paparan senarai artikel blog dan halaman butiran, tetapi kami juga perlu melaksanakan penciptaan, menyunting dan menyunting artikel blog. Ini boleh dicapai menggunakan kod berikut:

Buat artikel:

<?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>
Salin selepas log masuk

Edit artikel:

<?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>
Salin selepas log masuk

Padam artikel:

<?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>
Salin selepas log masuk
  1. Pengesahan pengguna dan kawalan kebenaran

Akhir sekali, kami perlu melaksanakan fungsi pengesahan pengguna dan kawalan kebenaran. Dalam blog ringkas, kami boleh menggunakan HTTP_BASIC_AUTH untuk melaksanakan pengesahan pengguna. Pengguna dikehendaki log masuk sebelum mereka boleh membuat, mengedit dan memadam catatan blog. Anda boleh menggunakan kod berikut untuk mencapai ini:

<?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();
  }
?>
Salin selepas log masuk

Letakkan kod ini di hadapan halaman yang memerlukan kawalan kebenaran. Kod ini akan menyemak sama ada nama pengguna dan kata laluan dalam pengepala HTTP adalah betul Jika ia salah, ia akan mengembalikan kod status 401 Tanpa Kebenaran dan muncul kotak log masuk yang meminta pengguna log masuk semula.

Setakat ini, kami telah mencipta blog yang ringkas. Melalui contoh ini, kita boleh memahami penggunaan asas PHP dan SQLite, dan cara menggunakan PHP untuk melaksanakan aplikasi mudah. Jika anda ingin mengetahui lebih lanjut tentang PHP, anda boleh merujuk kepada dokumentasi rasmi PHP dan tutorial dalam talian PHP.

Atas ialah kandungan terperinci Buat blog mudah: menggunakan PHP dan SQLite. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Konfigurasi Projek CakePHP Konfigurasi Projek CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan memahami Pembolehubah Persekitaran, Konfigurasi Umum, Konfigurasi Pangkalan Data dan Konfigurasi E-mel dalam CakePHP.

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Tarikh dan Masa CakePHP Tarikh dan Masa CakePHP Sep 10, 2024 pm 05:27 PM

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Muat naik Fail CakePHP Muat naik Fail CakePHP Sep 10, 2024 pm 05:27 PM

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Penghalaan CakePHP Penghalaan CakePHP Sep 10, 2024 pm 05:25 PM

Dalam bab ini, kita akan mempelajari topik berikut yang berkaitan dengan penghalaan ?

Bincangkan CakePHP Bincangkan CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP Dec 20, 2024 am 11:31 AM

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

Pengesah Mencipta CakePHP Pengesah Mencipta CakePHP Sep 10, 2024 pm 05:26 PM

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

See all articles