Erreur dans mon code
Résolu
tyranausor
Messages postés
3545
Date d'inscription
Statut
Membre
Dernière intervention
-
tyranausor Messages postés 3545 Date d'inscription Statut Membre Dernière intervention -
tyranausor Messages postés 3545 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je viens vers vous car j'ai une erreur dans mon code php mais je n'arrive pas à la corriger!
Voici l'extrait de mon code où l'erreur se présente
J'ai pour erreur un " calll underfine function execute() line 107"
Merci de votre aide
Les forumeurs ne sont pas des devins, en tout cas, moi non!
Voici l'extrait de mon code où l'erreur se présente
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=reza;charset=utf8', 'root', ''); // Connexion à la base de données } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } // Récupération de la poésie $req = $bdd->prepare('SELECT id, theme, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y à %Hh%imin%ss\') AS date_creation_fr FROM poesie WHERE id = ?'); $req->execute(array($_GET['poesie'])); $donnees = $req->fetch(); $req->closeCursor(); ?> <div class="news"> <h3> Commentaires sur le razal n° <?php echo $donnees['id']; ?> sur <?php htmlspecialchars($donnees['theme']); ?> <em>le <?php echo $donnees['date_creation_fr']; ?></em> >!-- affiche seulement le html! --> </h3> <p><?php echo nl2br(htmlspecialchars($donnees['contenu'])); ?></p> <!-- n'affiche rien --> </div> <?php // Récupération des commentaires $req = $bdd->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_poesie = ? ORDER BY date_commentaire'); $req->execute(array($_GET['poesie'])); while ($donnees = $req->fetch()) { ?> <p><strong><?php echo htmlspecialchars($donnees['auteur']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p> <p><?php echo nl2br(htmlspecialchars($donnees['commentaire'])); ?></p> <?php } // Fin de la boucle des commentaires if(isset($_POST['submit'])) { // traite tes valeurs POST $auteur = strip_tags($_POST['auteur']); $commentaire = strip_tags($_POST['commentaire']); // Vérification de tes champs // Si valide.. $req = $bdd->prepare('INSERT INTO commentaires(id_poesie, auteur, commentaire, date_commentaire) VALUES (:id_poesie,:auteur,:commentaire,NOW())'); $req = execute(array( ':id_poesie'=>$_GET['id'], // Numéroro à récupérer dans l'url ':auteur'=>$auteur, ':commentaire'=>$commentaire )); // n'écrit rien, ni sur la page, ni dans la base $req->closeCursor(); } ?><br /> <h1>Laisser un commentaire ?</h1> <form method="post" action="comments.php?poesie=<?php echo $_GET['poesie'] ?>"> <p><label for="auteur">Nom : </label><input type="text" name="auteur" /></p> <p><label for="commentaire">Commentaires : </label><textarea name="commentaire" /></textarea></p> <p><input type="submit" name="submit" value="Envoyer" /></p> </form>
J'ai pour erreur un " calll underfine function execute() line 107"
Merci de votre aide
Les forumeurs ne sont pas des devins, en tout cas, moi non!
EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI Merci d'y penser dans tes prochains messages. |
A voir également:
- Erreur dans mon code
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Code blocks - Télécharger - Langages
8 réponses
Bon2
Commence par appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Commence par appliquer ceci :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Bonjour, même avec les erreurs pdo activé, ça ne donne rien de plus (et je ne sais pas si je m'en suis bien servi, je débute)
Voici mon code
En fait, l'article sera affiché avec les commentaires et en fin, il y a un formulaire pour en laisser mais il n'apparait pas!
Les forumeurs ne sont pas des devins, en tout cas, moi non!
<?php error_reporting(E_ALL); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Commenter</title> <link href="style.css" rel="stylesheet" /> </head> <body> <header> <p> <div id="logo">Logo papillon+bougie</div> </p> <h1>L'Apothéose</h1> <p><a href="ghazal.php" rel="nofollow" target="_blank">Retour à la liste des poésies</a></p> </header> <section> <?php include("include\liens.php"); ?> <article> <?php error_reporting(E_ALL); try { $bdd = new PDO('mysql:host=localhost;dbname=reza;charset=utf8', 'root', ''); // Connexion à la base de données } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } // Récupération de la poésie $req = $bdd->prepare('SELECT id, theme, contenu, DATE_FORMAT(date_creation, \'%d/%m/%Y\') AS date_creation_fr FROM poesie WHERE id = ?'); $req->execute(array($_GET['poesie'])); $donnees = $req->fetch(); $req->closeCursor(); ?> <div class="news"> <h3> Commentaires sur le razal n° <?php echo $donnees['id']; ?> sur <?php htmlspecialchars($donnees['theme']); ?> <em>le <?php echo $donnees['date_creation_fr']; ?></em> <!-- affiche seulement le html! --> </h3> <p><?php echo nl2br(htmlspecialchars($donnees['contenu'])); ?></p> <!-- n'affiche rien --> </div> <?php // Récupération des commentaires $req = $bdd->prepare('SELECT auteur, commentaire, DATE_FORMAT(date_commentaire, \'%d/%m/%Y à %Hh%imin%ss\') AS date_commentaire_fr FROM commentaires WHERE id_poesie = ? ORDER BY date_commentaire'); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ); $req->execute(array($_GET['poesie'])); while ($donnees = $req->fetch()) { ?> <p><strong><?php echo htmlspecialchars($donnees['auteur']); ?></strong> le <?php echo $donnees['date_commentaire_fr']; ?></p> <p><?php echo nl2br(htmlspecialchars($donnees['commentaire'])); ?></p> <?php } // Fin de la boucle des commentaires if(isset($_POST['submit'])) { // traite tes valeurs POST $auteur = strip_tags($_POST['auteur']); $commentaire = strip_tags($_POST['commentaire']); // Vérification de tes champs // Si valide.. $req = $bdd->prepare('INSERT INTO commentaires(id_poesie, auteur, commentaire, date_commentaire) VALUES (:id_poesie,:auteur,:commentaire,NOW())'); $req = execute(array( ':id_poesie'=>$_GET['id'], // Numéro à récupérer dans l'url ':auteur'=>$auteur, ':commentaire'=>$commentaire )); // n'écrit rien, ni sur la page, ni dans la base $req->closeCursor(); } ?><br /> <h1>Laisser un commentaire ?</h1> <form method="post" action="comments.php?poesie=<?php echo $_GET['poesie'] ?>"> <p><label for="auteur">Nom : </label><input type="text" name="auteur" /></p> <p><label for="commentaire">Commentaires : </label><textarea name="commentaire" /></textarea></p> <p><input type="submit" name="submit" value="Envoyer" /></p> </form>
En fait, l'article sera affiché avec les commentaires et en fin, il y a un formulaire pour en laisser mais il n'apparait pas!
Les forumeurs ne sont pas des devins, en tout cas, moi non!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour, pardon pour le retard de ma réponse. J'ai plus d'erreur ligne 107, c'est seulement 51 et 85 avec undefine index poesie pour les deux. J'ai en plus undefine index poesie line 103call stark #TimeMemoryFunctionLocation 10.0730141056 {main}
Pour les "undefined" .... regarde et applique ceci : https://forums.commentcamarche.net/forum/affich-37636387-php-notice-undefined-index