Script PHP de blog gratuit

Script de livre d'or PHP gratuit

Cette script PHP de blog gratuit utilise une base de données MySQL pour stocker les articles de blog, ainsi que pour gérer la création et la suppression des articles. Le script utilise l'extension mysqli pour interagir avec la base de données, qui est une version améliorée de l'ancienne extension mysql et qui est plus sécurisée.

Ce script comprend également un formulaire pour créer de nouveaux messages, qui, une fois soumis, les données sont insérées dans la base de données. Le script comprend également un lien pour supprimer les messages, qui, lorsqu'il est cliqué, le message est supprimé de la base de données et l'image est également supprimée du serveur.

Le script récupère tous les messages de la base de données et les affiche sur la page par ordre décroissant, en affichant le message le plus récent en premier. Chaque message affiche également l'image qui lui est associée.

Ceci est un exemple de base, et vous pouvez ajouter plus de fonctionnalités comme l'ajout de pagination pour diviser les publications, vous pouvez également ajouter un système de connexion pour que les utilisateurs puissent publier sur le blog, ou ajouter une fonctionnalité de recherche pour rechercher des publications spécifiques.

Vous pouvez également ajouter une validation aux entrées du formulaire pour empêcher toute entrée malveillante.

Et vous devez également implémenter un moyen de nettoyer les entrées, pour empêcher les attaques par injection SQL.

<?php
  // Connect to the database
  $conn = mysqli_connect('host', 'username', 'password', 'database');

  // Create a new post or edit an existing post
  if (isset($_POST['submit'])) {
    $id = mysqli_real_escape_string($conn, $_POST['id']);
    $title = mysqli_real_escape_string($conn, $_POST['title']);
    $content = mysqli_real_escape_string($conn, $_POST['content']);
    $author = mysqli_real_escape_string($conn, $_POST['author']);
    $date = date("Y-m-d H:i:s");
    $image = mysqli_real_escape_string($conn, $_FILES['image']['name']);
    $image_temp = $_FILES['image']['tmp_name'];

    if ($id == "") { // create a new post
      move_uploaded_file($image_temp, "images/$image");
      $sql = "INSERT INTO posts (title, content, author, date, image) VALUES ('$title', '$content', '$author', '$date', '$image')";
    } else { // edit an existing post
      if ($image != "") {
        $query = "SELECT * FROM posts WHERE id = $id";
        $result = mysqli_query($conn, $query);
        while ($row = mysqli_fetch_array($result)) {
          $prev_image = $row['image'];
        }
        unlink("images/$prev_image");
        move_uploaded_file($image_temp, "images/$image");
        $sql = "UPDATE posts SET title='$title', content='$content', author='$author', date='$date', image='$image' WHERE id=$id";
       } else {
         $sql = "UPDATE posts SET title='$title', content='$content', author='$author', date='$date' WHERE id=$id";
       }
     }
     mysqli_query($conn, $sql);
   }

// Delete a post
if (isset($_GET['delete'])) {
$id = $_GET['delete'];
$query = "SELECT * FROM posts WHERE id = $id";
$result = mysqli_query($conn, $query);
while ($row = mysqli_fetch_array($result)) {
$image = $row['image'];
}
unlink("images/$image");
mysqli_query($conn, "DELETE FROM posts WHERE id=$id");
}

// Retrieve all posts from the database
$result = mysqli_query($conn, "SELECT * FROM posts ORDER BY id DESC");
?>

<!DOCTYPE html>
<html>
<head>
  <title>Blog</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <div class="container">
    <h1>Blog</h1>
    <form action="blog.php" method="post" enctype="multipart/form-data">
      <input type="hidden" name="id" value="<?php echo (isset($_GET['edit'])) ? $_GET['edit'] : ''; ?>">
      <label for="title">Title:</label>
      <input type="text" id="title" name="title" value="<?php echo (isset($_GET['edit'])) ? $title : ''; ?>" required>
      
        <label for="content">Content:</label>
  <textarea id="content" name="content" required><?php echo (isset($_GET['edit'])) ? $content : ''; ?></textarea>

  <label for="author">Author:</label>


<input type="text" id="author" name="author" value="<?php echo (isset($_GET['edit'])) ? $author : ''; ?>" required>

  <label for="image">Image:</label>
  <input type="file" id="image" name="image">

  <input type="submit" name="submit" value="<?php echo (isset($_GET['edit'])) ? 'Save' : 'Create Post'; ?>">
</form>

<?php while ($row = mysqli_fetch_array($result)) { ?>
  <div class="post">
    <h2><?php echo $row['title']; ?></h2>
    <p><?php echo $row['content']; ?></p>
    <p>Author: <?php echo $row['author']; ?></p>
    <p>Date: <?php echo $row['date']; ?></p>
    <img src="images/<?php echo $row['image']; ?>" width="100">
    <br>
    <a href="index.php?edit=<?php echo $row['id']; ?>">Edit</a>
    <a href="index.php?delete=<?php echo $row['id']; ?>">Delete</a>
  </div>
<?php } ?>

</div>
<br />
<a href="https://php.org" title="PHP tutorials">Powered by PHP.org</a>
</body>
</html>
Script de livre d'or PHP gratuit

Restez à jour sur PHP !

Nous ne spammons pas !

en English
X
Remonter en haut