Création d'un nouveau topic

Ce topic a été résolu
Lounath

Lounath Le 15 avril 2017 à 17:34 (Édité le 25 janvier 2019 à 17:53)

Bonjour à tous et désolé d'avance car je sais que la question à déjà été posée, cependant je n'ai pas trouvé de réponse à celle-ci....
Mon problème est le suivant : Après avoir suivi la série de PrimFX sur la création d'un forum je bloque à l'étape sur la création d'un nouveau topic... j'ai pourtant relu mon code des dizaines et des dizaines de fois mais je ne trouve pas le problème... est ce que quelqu'un aurait l'infinie bonté d'aider une pauvre âme en péril \o/ ?
Mr_moozik

Mr_moozik Le 15 avril 2017 à 19:20

Donne nous ton code a analyser 😀
Lounath

Lounath Le 15 avril 2017 à 19:34

Résoluuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu en fait je ne sais pas pourquoi i y avait besoin d'espace entre les tables dans les lignes suivantes alors que PrimFX n'en a pas besoin : 
$ins = $bdd->prepare('INSERT INTO f_topicscategorie (id_topic, id_categorie, id_souscategorie) VALUES (?, ?, ?)');
$ins = $bdd->prepare('INSERT INTO f_topics (id_createur, sujet, contenu, notif_createur, date_heure_creation) VALUES(?, ?, ?, ?, NOW())');

<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=forum', 'root', '');
if(isset($_GET['categorie'])) {
   $get_categorie = htmlspecialchars($_GET['categorie']);
   $categorie = $bdd->prepare('SELECT * FROM f_categories WHERE id = ?');
   $categorie->execute(array($get_categorie));
   $cat_exist = $categorie->rowCount();
   if($cat_exist == 1) {
      $categorie = $categorie->fetch();
      $categorie = $categorie['nom'];
      $souscategories = $bdd->prepare('SELECT * FROM f_souscategories WHERE id_categorie = ? ORDER BY nom');
      $souscategories->execute(array($get_categorie));
      if(isset($_SESSION['id'])) {
         if(isset($_POST['tsubmit'])) {
            if(isset($_POST['tsujet'],$_POST['tcontenu'])) {
               $sujet = htmlspecialchars($_POST['tsujet']);
               $contenu = htmlspecialchars($_POST['tcontenu']);
               $souscategorie = htmlspecialchars($_POST['souscategorie']);
               $verify_sc = $bdd->prepare('SELECT id FROM f_souscategories WHERE id = ? AND id_categorie = ?');
               $verify_sc->execute(array($souscategorie,$get_categorie));
               $verify_sc = $verify_sc->rowCount();
               if($verify_sc == 1) {
                  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));
                        
                        $lt = $bdd->query('SELECT id FROM f_topics ORDER BY id DESC LIMIT 0,1');
                        $lt = $lt->fetch();
                        $id_topic = $lt['id'];
                        $ins = $bdd->prepare('INSERT INTO f_topicscategorie (id_topic, id_categorie, id_souscategorie) VALUES (?,?,?)');
                        $ins->execute(array($id_topic, $get_categorie, $souscategorie));
                     } else {
                        $terror = "Votre sujet ne peut pas dépasser 70 caractères";
                     }
                  } else {
                     $terror = "Veuillez compléter tous les champs";
                  }
               } else {
                  $terror = "Sous-catégorie invalide";
               }
            }
         }
      } else {
         $terror = "Veuillez vous connecter pour poster un nouveau topic";
      }
   } else {
      die('Catégorie invalide...');
   }
} else {
   die('Aucune catégorie définie...');
}
require('views/nouveau_topic.view.php'); /* Inclusion du fichier vue */
?>
Mr_moozik

Mr_moozik Le 15 avril 2017 à 19:39

Le principal est que ca marche ;-)
Lounath

Lounath Le 15 avril 2017 à 19:42

Oui même si ça me semble assez bizzarre cette histoire d'espace, si quelqu'un a une idée plus "rationnelle" je prend aussi 😉
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte