Créer un forum en PHP - #3 Nouveau Topic

PrimFX Boris ('PrimFX') Le 31 janvier 2016

Avant de voir comment afficher les topics, comment les modifier et comment y répondre, il faut pouvoir les créer ! Voyons donc comment faire ça pour pouvoir ensuite les relier avec les catégories et sous-catégories ! Mais ça, c'est pour un prochain tuto 😛

  • nouveau_topic.php
<?php
require('php/config.php'); /* Contient la connexion à la base de donnée $bdd */

/* Traitement du formulaire de création de Topic */
if(isset($_SESSION['id'])) {
   if(isset($_POST['tsubmit'])) {
      if(isset($_POST['tsujet'],$_POST['tcontenu'])) {
         $sujet = htmlspecialchars($_POST['tsujet']);
         $contenu = htmlspecialchars($_POST['tcontenu']);
         if(!empty($sujet) AND !empty($contenu)) {
            if(strlen($sujet) <= 70) {
               if(isset($_POST['tmail'])) {
                  $notif_mail = 1;
               } else {
                  $notif_mail = 0;
               }
               $ins = $bdd->prepare('INSERT INTO f_topics (id_createur, sujet, contenu, notif_createur, date_heure_creation) VALUES(?,?,?,?,NOW())');
               $ins->execute(array($_SESSION['id'],$sujet,$contenu,$notif_mail));
            } else {
               $terror = "Votre sujet ne peut pas dépasser 70 caractères";
            }
         } else {
            $terror = "Veuillez compléter tous les champs";
         }
      }
   }
} else {
   $terror = "Veuillez vous connecter pour poster un nouveau topic";
}

require('views/nouveau_topic.view.php'); /* Appel du fichier "vue" de notre page */
?>
  • views/nouveau_topic.view.php
<form method="POST">
   <table>
      <tr>
         <th colspan="2">Nouveau Topic</th>
      </tr>
      <tr>
         <td>Sujet</td>
         <td><input type="text" name="tsujet" size="70" maxlength="70" /></td>
      </tr>
      <tr>
         <td>Catégorie</td>
         <td>
            <select>
               <option>Catégorie 1</option>
               <option>Catégorie 2</option>
               <option>Catégorie 3</option>
               <option>Catégorie 1</option>
            </select>
         </td>
      </tr>
      <tr>
         <td>Sous-Catégorie</td>
         <td>
            <select>
               <option>Sous-Catégorie 1</option>
               <option>Sous-Catégorie 2</option>
               <option>Sous-Catégorie 3</option>
               <option>Sous-Catégorie 1</option>
            </select>
         </td>
      </tr>
      <tr>
         <td>Message</td>
         <td><textarea name="tcontenu"></textarea></td>
      </tr>
      <tr>
         <td>Me notifier des réponses par mail</td>
         <td><input type="checkbox" name="tmail" /></td>
      </tr>
      <tr>
         <td colspan="2"><input type="submit" name="tsubmit" value="Poster le Topic" /></td>
      </tr>
      <?php if(isset($terror)) { ?>
      <tr>
         <td colspan="2"><?= $terror ?></td>
      </tr>
      <?php } ?>
   </table>
</form>
Comme d'habitude, si vous avez des idées, questions, propositions, etc. à faire, l'espace commentaire est juste en-dessous ;-)

A propos de l'auteur

PrimFX
Boris ('PrimFX')

Je m'appelle Boris, j'ai 22 ans et je suis passionné d'informatique. Suite à mes études (Licence Informatique puis MSc Computer Science au Trinity College Dublin), je gère l'entreprise Single Quote co-fondée en 2019 et je profite de mon temps libre pour partager ma passion à travers des vidéos & articles 😃

Votre commentaire

Vous devez être connecté pour poster un commentaire. Se connecter ou Créer un compte

Commentaires 18

  • bravic Le 14 avril, à 04:13 | Répondre

    a parement tout semble bon dans mon code mais quand je poste un nouveau topic ca n'entre pas dans la base de donnée aide moi stp

  • LapizzadelaMama Le 28 octobre, à 00:41 | Répondre

    Bonjour, je rencontre un probleme, les topics ne s’insèrent pas dans la base de donée

  • SkinDePewDiePie_ Le 25 décembre, à 13:14 | Répondre

    @PrimFX j'arrive pas a faire ça car quand je clique sur le bouton ça n'enregistre pas dans la base de données

  • Mafiorateur Le 5 avril, à 18:46 | Répondre

    bonjour je suis avec live host comme hebergement et j arrive pas a me connecter a ma base de donnè sa me faire erreur php

  • Chirac Le 7 mars, à 10:05 | Répondre

    Salut Boris Flesch,
    j'aime beaucoup tes tutos et grâce à toi que je suis fière d'être développeur web.
    Je suivis super bien tes tutos sur la création d'un FORUM et j'ai travaillé tous les codes de la série entière.
    Mais ce que je ne comprend pas, je bel et bien connecter ma base, ça m'affiche toujours Erreur avec le die ('Aucune catégorie définis...') ; que tu avais fais.
    Et mon problème est pareil pour le reste des codes jusqu'au dernier tuto : Créer un forum en PHP #9 Finition.
    Aides moi s'il vous plait.

  • corentin49130 Le 12 décembre, à 20:40 | Répondre

    J'ai un problème quand je me connecte à mon compte en espace membre une fois connecté la page "Nouveau Topic" veux pas compter mon compte en gros mon compte agis pas sur la création d'un nouveau topic qui peut m'aider ?

  • franckeric Le 26 août, à 13:20 | Répondre

    @PrimFX ok

  • PrimFX Le 24 août, à 19:41 | Répondre

    @franckeric En effet : cela pourra en partie permettre de rentabiliser le site (coût des serveurs, templates, autres plugins utilisés, etc.) et de lancer par la suite de nouveaux projets de plus grande envergure !

  • franckeric Le 24 août, à 00:13 | Répondre

    il faut payer pour voir les codes ok, bonne chance

  • Jennifer_RG Le 4 août, à 10:24 | Répondre

    @joris1904 D'accord, merci beaucoup :)

  • joris1904 Le 4 août, à 09:45 | Répondre

    @Jennifer_RG si tu as toujours ce problème pas sur le tchat vocal on t'aidera

  • PaulLavieille Le 4 août, à 08:48 | Répondre

    @Jennifer_RG fais un session_start(); au début de ton code

  • Jennifer_RG Le 3 août, à 17:04 | Répondre

    @joris1904 J'ai le même problème que toi pourtant j'ai correctement suivis le tutoriel et je ne comprends pas comment faire..
    Et aussi j'arrive pas à faire, quand je suis connectée, une édition au niveau de ma barre de menu comme sur le site de PrimFX quand il passe de connexion = mon profil une fois qu'on est connecté.. :(

  • NeirridaX Le 21 avril, à 11:00 | Répondre

    Salut PrimFX ! J'ai un petit probleme avec ce tuto ... En fait mon topic ne s'affiche pas dans la base de données ... Je suis pourtant connecté à la base et sur mon compte ... Une solution ?

  • Nicolas Le 13 mars, à 22:25 | Répondre

    Bonjour a toi j'admire grandement tes tutoriel sur le php tu as des explications très propre est grâce a ça on peut difficilement ce tromper j'aimerais savoir si tu pourrais juste m'aider pour un petit problème au niveau de mon site car j'aurais aimé faire une page dans mon panel d'administration qui me permettrait de créer a basse de texte a remplire des actualités sur une page qui est déjà présente mes j'aimerais vraiment simplifier la création de nouveaux articles a la place de toujours copié collé le contenu html ^^ Je te le demmende a toi pars que t'es la seule personne qui explique super bien les choses si tu as le temps dit moi comment on pourrait se contacter merci d'avance .

  • amadoubah570 Le 9 février, à 02:45 | Répondre

    @PrimFX Ok ça marche!!

  • PrimFX Le 6 février, à 19:02 | Répondre

    @amadoubah570 Salut ! Effectivement je pense faire ça, du moins une fois que le forum aura bien avancé ;-)

  • amadoubah570 Le 4 février, à 00:54 | Répondre

    Bonsoir PrimFX je souhaiterais que tu nous montre comment nous relions le forum et l'espace membre???
    Merci d'avance