CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP - MYSQL] Système de commentaires

HipHopee
HipHopee
Niveau 54
16 juin 2008 à 11:37:43

Bonjour à tous !

Je suis entrain de faire un système de commentaires, en me basant sur celui expliqué sur le SDZ. Sur mes news (news.php?id=1 etc.) j'affiche les commentaires et le formulaire.

Je rencontre une erreur une fois le script installé la voici :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY id DESC' at line 1

Le bug doit venir d'ici :
http://wall.deblan.fr/1213609089/php/1/

J'ai essayé en remplacant idnews par id, la sa fonctionnant les commentaires était bien enregistrés dans ma base de donnée en fonction de l'id de la news, mais le problème c'est qu'ils ne s'affiches pas sur les pages en question.

Ma table "commentaires" contient 4 champs : id, pseudo, message et idnews

Merci de votre aide ^^

A+

Thymotep
Thymotep
Niveau 10
16 juin 2008 à 11:48:52

Bonjour,

Vérifie le $_GET['idnews'] que les gens ne passe pas n'importe quoi, puis transforme le en une variable simple ( $varid = $_GET['idnews']; )

Essaye de faire passer une variable sans '' et tout, pour pas gener SQL, en gros transforme là variable :)

HipHopee
HipHopee
Niveau 54
17 juin 2008 à 11:19:39

Merci pour ta réponse !

J'ai fait un essai mais sans succés... Je dois mal l'écire, tu peux me précier un peu plus ?

Thymotep
Thymotep
Niveau 10
17 juin 2008 à 11:53:48

http://wall.deblan.fr/1213696620/php/1/

HipHopee
HipHopee
Niveau 54
17 juin 2008 à 12:45:14

Merci, mais j'obtiens une erreur :

Parse error: syntax error, unexpected T_VARIABLE in

à cette ligne :

$infos = mysql_query("SELECT * FROM commentaires WHERE idnews='$id_news' ORDER BY id DESC")or die (mysql_error()); /*Ici on liste les commentaires dans l'ordre décroissant où le champ idnews est le même que celui de la variable contenue dans l'adresse de la page*/

Thymotep
Thymotep
Niveau 10
17 juin 2008 à 12:47:31

A quoi ressemble ton url pour la page s'il te plait, quel est le nom de table dans la BDD, et du champs qui contient l'ID stp :)

HipHopee
HipHopee
Niveau 54
17 juin 2008 à 13:01:44

Yep alors voila :

L'url de ma page : news-view.php (news-view.php?id=1 etc.)
Le nom de la table commentaires : commentaires (4 champs)
Le champs de l'id : id
Le champs id de la news : idnews

Thymotep
Thymotep
Niveau 10
17 juin 2008 à 13:05:03

http://wall.deblan.fr/1213700898/php/1/

Eclairdarkiron
Eclairdarkiron
Niveau 10
17 juin 2008 à 13:27:52

pour corriger ta requete affiche la !!

HipHopee
HipHopee
Niveau 54
17 juin 2008 à 18:48:20

Oui sa ne fonctionne toujours pas je vous met le code complet :

http://wall.deblan.fr/1213721474/php/1/

deepblue
deepblue
Niveau 16
18 juin 2008 à 06:42:00

$id_news = $_GET['id'];

faille de sécurité.

Test au moins si $_GET['id'] est un nombre

HipHopee
HipHopee
Niveau 54
18 juin 2008 à 14:20:18

Comment ça ?

isukthar
isukthar
Niveau 10
18 juin 2008 à 14:24:39

avec is_int() je pense:

if(is_int($_GET['id']))
$id_news = $_GET['id'];
else
erreur;

HipHopee
HipHopee
Niveau 54
18 juin 2008 à 15:04:27

J'ai réessayé, sa m'enregistre bien un commentaire mais dans le champs idnews de ma table il me marque "0". Et les commentaires ne s'affiches toujours pas.

deepblue
deepblue
Niveau 16
18 juin 2008 à 18:51:43

is_numeric + intval

Thymotep
Thymotep
Niveau 10
19 juin 2008 à 09:52:54

Tu es sur que a l'ajout du com's, tu tes pas trompé dans une variable, il doit pas mettre 0 logiquement :-)))

HipHopee
HipHopee
Niveau 54
19 juin 2008 à 17:44:34

Enfaite sur cette ligne :

$infos = mysql_query('SELECT * FROM commentaires WHERE idnews=' . $_GET['idnews'] . ' ORDER BY id DESC')or die (mysql_error());

Lorsque j'écris id à la place de idnews, sa m'enregistre bien le commentaire sous le bon id de ma news !

Par contre sa ne mes les affiches pas...

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment