Enregistrement d'un topic dans la BDD- Tuto création d'un forum vidéo 3
- Accueil
- Forum
- Programmation
- PHP
- Enregistrement d'un topic dans la BDD- Tuto création d'un forum vidéo 3
Caranouga Le 11 août 2020 à 19:51 (Édité le 1 janvier 1970 à 01:00)
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 */
?>
Bon soirée Merci
PrimFX Le 13 août 2020 à 21:57 (Édité le 1 janvier 1970 à 01:00)
Bonsoir @Caranouga,
Je pense qu'il y a deux points essentiels à vérifier :
- Est-ce que le code PHP arrive bien jusqu'à la requête SQL dans son traitement ?
- 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
Caranouga Le 18 août 2020 à 15:16 (Édité le 18 août 2020 à 15:16)
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