Je n'arrive pas a lire les données dans ma table
Résolu
mobrobot
Messages postés
173
Date d'inscription
Statut
Membre
Dernière intervention
-
mobrobot Messages postés 173 Date d'inscription Statut Membre Dernière intervention -
mobrobot Messages postés 173 Date d'inscription Statut Membre Dernière intervention -
Bonsoir s'il vous plait je vous pris de m'aidez a résoudre ce problème qui ma tellement fatigué.
j'aicrée un formulaire de postulation de message, mais il y'a une erreur qui s'affiche quand je clique sur le bouton Poster votre message
voici mais deux fichier que j'ai utiliser pour crée ce système:
le premier fichier forum_topic.php :
et le fichier nouveauTopic.php inclus dans le fichier forum_topic.php
JE VOUS REMERCIE!!
j'aicrée un formulaire de postulation de message, mais il y'a une erreur qui s'affiche quand je clique sur le bouton Poster votre message
( ! ) Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\projet\forum_topic.php on line 42
voici mais deux fichier que j'ai utiliser pour crée ce système:
le premier fichier forum_topic.php :
<?php include_once "codemenu.php"; include_once 'nouveautopic.php'; ?> <!DOCTYPE html> <html> <head> <title>Forum Topic</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="page_principal1"> <?php ?> <section class="section_mobile"> <form class="forum" method="POST"> <table class="forum topic"> <tr class="header_main"> <th class="main_2" colspan="2">Nouveau Topic</th> <th></th> </tr> <tr> <td>Sujet :</td> <td><input type="text" name="tsujet" size="70" maxlength="70" /></td> </tr> <tr> <td>Categories :</td> <td> <?= $categories ?> </td> </tr> <tr> <td>Sous-Categories :</td> <td> <select name="souscategories"> <?php while($sc = $sousCategories->fetch() ) { ?> <option value="<?= $sc["id"] ?>"><?= $sc["nom"] ?></option> <?php } ?> </select> </td> </tr> <tr> <td>Message :</td> <td><textarea name="tcontenu" cols="73" rows="4"></textarea></td> </tr> <tr> <td>Notification par mail :</td> <td><input type="checkbox" name="tmail" /></td> </tr> <tr> <td></td> <td><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> </section> </div> </body> </html>
et le fichier nouveauTopic.php inclus dans le fichier forum_topic.php
<?php require_once 'dbconnectM.php'; if(isset($_GET['categories'])){ $get_categorie = htmlspecialchars($_GET['categories']); $categories = $bdd->prepare("SELECT * FROM f_categories WHERE id = ? "); $categories->execute(array($get_categorie)); $cat_exist = $categories->rowCount(); if($cat_exist == 1){ $categories = $categories->fetch(); $categories = $categories['nom']; $sousCategories = $bdd->prepare("SELECT * FROM f_sous_categories 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']); $sousCategories = htmlspecialchars($_POST['souscategories']); $verif_sc = $bdd->prepare("SELECT id FROM f_sous_categories WHERE id = ? AND id_categorie = ?"); $verif_sc->execute(array($sousCategories,$get_categorie)); $verif_sc = $verif_sc->rowCount(); if($verif_sc == 1){ if(!empty($sujet) AND !empty($contenu)){ if(strlen($sujet) <= 70){ if(isset($_POST['tmail'])){ $notifmail = 1; } else{ $notifmail = 0; } $insert = $bdd->prepare("INSERT INTO f_topic (id_createur,sujet, contenu, notif_createur, date_heure_creation) VALUES(?,?,?,?,NOW())"); $insert->execute(array($_SESSION['id'],$sujet,$contenu,$notifmail)); $lt = $bdd->query("SELECT id FROM f_topic ORDER BY id DESC LIMIT 0,1"); $lt = $lt->fetch(); $id_topic = $lt['id']; $ins = $bdd->prepare("INSERT INTO f_topics_categorie (id_topic,id_categorie,id_sous_categories) VALUES(?,?,?) "); $ins->execute(array($id_topic,$get_categorie,$sousCategories)); } else{ $terror = "Votre sujet ne peut pas dépasser 70 carractère"; } } else{ $terror = "Veuillez compléter tous les champs"; } } else{ $terror = "Sous-catégories invalid"; } } } } else{ $terror = "Veuillez vous connecter pour poster votre topic"; } } else{ die("Categories invalid..."); } }else{ die("Aucune catégorie définie..."); } ?>
JE VOUS REMERCIE!!
A voir également:
- Je n'arrive pas a lire les données dans ma table
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Fuite données maif - Guide
- Table ascii - Guide
- Lire epub - Guide
- Table des matières word - Guide
1 réponse
Bonjour,
Tu utilises le même nom de variable ($sousCategories) pour faire ta requête
... puis pour lui stocker une valeur...
Normal que ça plante ensuite... lorsque tu essaies de faire :
Tu utilises le même nom de variable ($sousCategories) pour faire ta requête
$sousCategories = $bdd->prepare("SELECT * FROM f_sous_categories WHERE id_categorie = ? ORDER BY nom"); $sousCategories->execute(array($get_categorie));
... puis pour lui stocker une valeur...
$sousCategories = htmlspecialchars($_POST['souscategories']);
Normal que ça plante ensuite... lorsque tu essaies de faire :
<?php while($sc = $sousCategories->fetch() ) { ?>
ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Puis cela : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Ca fait déjà au moins 4 fois que je te les donne ces liens.... faudrait peut-être commencer à les mettre en place non ?
je te le promet sa ne ce répète plus ?