Enregistrement d'un topic dans la BDD- Tuto création d'un forum vidéo 3

Ce topic a été résolu
Caranouga

Caranouga Le 11 août 2020 à 19:51

Bonjour, je suis actuellement bloquer dans la partie 3 création d'un forum pour enregistrer un topic dans la BDD. Le topic que j'ai crée ne s'affiche pas dans la BDD. Je suis bien connecté quand je fais la manipulation. J'ai parcouru toutes les discussions du forum pour résoudre mon problème mais sans succès. Si vous pouvez m'aider ça serait top. Voici mon code :

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

session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=forum2', 'root', '');

/*
**/
/* 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));
               var_dump($_POST, $sujet, $ins);
               $terror = "Votre sujet a bien été poster";
            } 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 */
?>

Voici l'image de ma BDD :

Bon soirée Merci

PrimFX

PrimFX Le 13 août 2020 à 21:57

Bonsoir @Caranouga,

Je pense qu'il y a deux points essentiels à vérifier :

  1. Est-ce que le code PHP arrive bien jusqu'à la requête SQL dans son traitement ?
  2. Est-ce que la requête SQL est correcte (pas de faute de frappe par exemple) ?

Pour le premier point, tu peux débugguer ton code très simplement en affichant des messages avec echo ou var_dump() tout au long du script (par exemple après chaque condition if).

Pour le second, tu peux par exemple tester ta requête directement dans la Zone SQL de phpMyAdmin (en remplaçant les ? par de vraies valeurs de test). Je vois déjà par exemple que tu as nommé le champ date-heure-creation dans ta base de données et date_heure_creation dans ta requête SQL 😉

N'hésite pas à poster ton code / ce que tu obtiens si le problème que tu rencontres persiste !

En espérant avoir pu t'aider,

A bientôt,

PrimFX

Meilleure réponse
Caranouga

Caranouga Le 18 août 2020 à 15:16 (Édité le 18 août 2020 à 15:16)

@PrimFX

Déja désoler pour temps que j'ai mis a vous répondre j'étais en vacances.

Et merci pour votre réponse, je n'avais vraiment pas vut que je m'étais tompé 👉 👈 et en plus c'étais juste que je m'étais trompé

A bientôt,

Caranouga

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