Système de commentaires
Résolu/Fermé
John4834
Messages postés
94
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
-
29 déc. 2009 à 18:48
John4834 Messages postés 94 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 22 juin 2011 - 30 déc. 2009 à 20:32
John4834 Messages postés 94 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 22 juin 2011 - 30 déc. 2009 à 20:32
A voir également:
- Système de commentaires
- Restauration systeme windows 10 - Guide
- Clément a partagé le fichier mme bovary. il a écrit des commentaires dans le document. quel est le 2e commentaire ? - Guide
- Comment refaire le système d'un ordinateur - Guide
- Verification de l'etat du stockage systeme ps4 ✓ - Forum PS4
- Cloner disque systeme - Guide
28 réponses
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
29 déc. 2009 à 19:11
29 déc. 2009 à 19:11
Ajoute un champ TINYTEXT "action" dans la table, et stockes le nom de l'action dans ce champ.
Ensuite, lorsque tu listes les commentaires, il faut ajouter la clause "WHERE" :
Ensuite, lorsque tu listes les commentaires, il faut ajouter la clause "WHERE" :
mysql_query('SELECT * FROM table WHERE action="'.$_GET['action'].'"');
John4834
Messages postés
94
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
4
30 déc. 2009 à 13:32
30 déc. 2009 à 13:32
Désolé, mais je ne comprends pas! Il faut que je fasse quoi comme système?
Utilisateur anonyme
30 déc. 2009 à 13:35
30 déc. 2009 à 13:35
Tu voudrais afficher les commentaire sur chaque page ou des commentaire preci pour AXA, d'autre pour FORTIS ...
John4834
Messages postés
94
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
4
30 déc. 2009 à 13:41
30 déc. 2009 à 13:41
Oui exactement!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
30 déc. 2009 à 14:07
30 déc. 2009 à 14:07
Tu sais ce qu'est un champ dans une table ?
Ajoute un champ nommé "action" avec comme type "TINYTEXT" (pour un texte assez court).
Quand tu auras fais ça, il suffit de lui mettre $_GET['action'] comme valeur lorsque tu insères le commentaires dans la table (INSERT INTO).
Lorsque tu veux afficher les commentaires de l'action "FORTIS" (par exemple), il faut ajouter WHERE action = "FORTIS" dans ta requête SQL qui récupères les commentaires. Donc remplaces "FORTIS" par $_GET['action'].
Ajoute un champ nommé "action" avec comme type "TINYTEXT" (pour un texte assez court).
Quand tu auras fais ça, il suffit de lui mettre $_GET['action'] comme valeur lorsque tu insères le commentaires dans la table (INSERT INTO).
Lorsque tu veux afficher les commentaires de l'action "FORTIS" (par exemple), il faut ajouter WHERE action = "FORTIS" dans ta requête SQL qui récupères les commentaires. Donc remplaces "FORTIS" par $_GET['action'].
Utilisateur anonyme
30 déc. 2009 à 14:07
30 déc. 2009 à 14:07
Il te faudrait selon moi, une table 'Commentaire' à 5 champs:
id: INDEX=PRIMARY et A.I
identite: TYPE=TEXT
commentaire: TYPE=TEXT
emplacement; TYPE=TEXT
date: TYPE=TEXT
FORMULAIRE A CRÉER:
Id: va permettre d'afficher les messages dans l'ordre d'écriture et se remplira tout seul.
identité: si on est visiteur, la valeur est visiteur sinon le pseudo de la personne.
commentaire: on sauvegarde le commentaire, mais attention a transformer les entrer en code et supprimer tout le code.
emplacement: prend general si c'est pour toute les pages, ou le nom de la page (AXA, FORTIS...)
date: prend la date d'écriture pour l'afficher
POUR AFFICHER LES COMMENTAIRES:
$Commentaire = mysql_query('SELECT * FROM Commentaire WHERE emplacement ="'.$_GET['action'].' or 'general'"');
while ($Donnees = mysql_fetch_array($Commentaire)){
echo $Donnees['identite'];
echo $Donnees['date'];
echo $Donnees['commentaire'];
}
!!!!! A VERIFIER !!!!! car je l'ai fait vite fait.
!!!!! A ADAPTER !!!!! car nous ne voyons pas les même chose.
id: INDEX=PRIMARY et A.I
identite: TYPE=TEXT
commentaire: TYPE=TEXT
emplacement; TYPE=TEXT
date: TYPE=TEXT
FORMULAIRE A CRÉER:
Id: va permettre d'afficher les messages dans l'ordre d'écriture et se remplira tout seul.
identité: si on est visiteur, la valeur est visiteur sinon le pseudo de la personne.
commentaire: on sauvegarde le commentaire, mais attention a transformer les entrer en code et supprimer tout le code.
emplacement: prend general si c'est pour toute les pages, ou le nom de la page (AXA, FORTIS...)
date: prend la date d'écriture pour l'afficher
POUR AFFICHER LES COMMENTAIRES:
$Commentaire = mysql_query('SELECT * FROM Commentaire WHERE emplacement ="'.$_GET['action'].' or 'general'"');
while ($Donnees = mysql_fetch_array($Commentaire)){
echo $Donnees['identite'];
echo $Donnees['date'];
echo $Donnees['commentaire'];
}
!!!!! A VERIFIER !!!!! car je l'ai fait vite fait.
!!!!! A ADAPTER !!!!! car nous ne voyons pas les même chose.
John4834
Messages postés
94
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
4
30 déc. 2009 à 14:09
30 déc. 2009 à 14:09
Merci beaucoup pour votre aide, je vais essayer çà :)
John4834
Messages postés
94
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
4
30 déc. 2009 à 16:19
30 déc. 2009 à 16:19
J'ai créé un fichier addcom.php! Mon formulaire envoi ses infos à ce fichier là!
Je voudrais savoir comment je dois faire pour que addcom.php enregistre mes infos dans la base de données!
(Comme vous pouvez le voir, je suis débutant de chez débutant). J'ai créé la table comme on me l'a expliqué plus haut, mais j arrive pas à faire en sorte que addcom.php remplisse ma table!
Merci bien!
Je voudrais savoir comment je dois faire pour que addcom.php enregistre mes infos dans la base de données!
(Comme vous pouvez le voir, je suis débutant de chez débutant). J'ai créé la table comme on me l'a expliqué plus haut, mais j arrive pas à faire en sorte que addcom.php remplisse ma table!
Merci bien!
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
30 déc. 2009 à 16:20
30 déc. 2009 à 16:20
Va apprendre les bases sur le Siteduzero.com
John4834
Messages postés
94
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
4
30 déc. 2009 à 17:17
30 déc. 2009 à 17:17
<?php
$requete = $bdd->prepare('
INSERT INTO `comment` SET
pseudo = :pseudo,
comment = :comment,
action_id = :action_id,
date = :date,
')
$requete->bindValue(':pseudo', $_POST['pseudo']);
$requete->bindValue(':comment', $_POST['comment']));
$requete->bindValue(':action_id', $_POST['action_id']);
$requete->bindValue(':date', $_POST['date']);
?>
Voila ce que contient ma page addcom.php
A savoir que les paramètres de connexion sont automatiquement pris en compte grace à une page index.php
Lorsque j'écris mon commentaire et que je clique sur le bouton envoyer, il me met:
Parse error: syntax error, unexpected T_VARIABLE on line 12
$requete = $bdd->prepare('
INSERT INTO `comment` SET
pseudo = :pseudo,
comment = :comment,
action_id = :action_id,
date = :date,
')
$requete->bindValue(':pseudo', $_POST['pseudo']);
$requete->bindValue(':comment', $_POST['comment']));
$requete->bindValue(':action_id', $_POST['action_id']);
$requete->bindValue(':date', $_POST['date']);
?>
Voila ce que contient ma page addcom.php
A savoir que les paramètres de connexion sont automatiquement pris en compte grace à une page index.php
Lorsque j'écris mon commentaire et que je clique sur le bouton envoyer, il me met:
Parse error: syntax error, unexpected T_VARIABLE on line 12
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
30 déc. 2009 à 17:20
30 déc. 2009 à 17:20
$requete->bindValue(':comment', $_POST['comment']));
Il y a une parenthèse ")" de trop.
John4834
Messages postés
94
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
4
30 déc. 2009 à 17:25
30 déc. 2009 à 17:25
Bien vu, j'ai corrigé mais le problème se situait au niveau de la ligne 12, donc la ligne juste au dessus!
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
30 déc. 2009 à 17:30
30 déc. 2009 à 17:30
<?php $requete = $bdd->prepare(' INSERT INTO `comment` SET pseudo = :pseudo, comment = :comment, action_id = :action_id, date = :date, ') <= ICI
John4834
Messages postés
94
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
4
30 déc. 2009 à 17:58
30 déc. 2009 à 17:58
Ok, maintenant il ne me met plus d'erreur et me redirige correctement vers la page précédente sauf qu'il n'a pas enregistrer les infos dans la table!
Bon vais essayer d'être un peu plus clair :)
J'ai un formulaire sur ma page A:
<form action="addcom.php" method="post"></p>
<div align="justify">Pseudo:
<input type="text" name="pseudo" value=" <?php echo $_SESSION['pseudo'] ?>" readonly="readonly" />
<br />
<br />
<textarea aligne="center" name="contenu" style="width:97%; height:150px"></textarea>
<input type="submit" value="Envoyer mon commentaire." />
<input type="hidden" name="date" value="on s'en fout pour le moment">
<input type="hidden" name="action_id" value="<?php echo $donnees->action_id; ?>">
</form>
Voici le script de addcom.php:
<?php
$requete = $bdd->prepare('
INSERT INTO `comment` SET
pseudo = :pseudo,
comment = :comment,
action_id = :action_id,
date = :date,
');
$requete->bindValue(':pseudo', $_POST['pseudo']);
$requete->bindValue(':comment', $_POST['comment']);
$requete->bindValue(':action_id', $_POST['action_id']);
$requete->bindValue(':date', $_POST['date']);
$requete->execute();
header('Location: ' . $_SERVER['HTTP_REFERER'] );
?>
Donc il me redirige correctement mais ne m'enregistre rien dans la table.
Bon vais essayer d'être un peu plus clair :)
J'ai un formulaire sur ma page A:
<form action="addcom.php" method="post"></p>
<div align="justify">Pseudo:
<input type="text" name="pseudo" value=" <?php echo $_SESSION['pseudo'] ?>" readonly="readonly" />
<br />
<br />
<textarea aligne="center" name="contenu" style="width:97%; height:150px"></textarea>
<input type="submit" value="Envoyer mon commentaire." />
<input type="hidden" name="date" value="on s'en fout pour le moment">
<input type="hidden" name="action_id" value="<?php echo $donnees->action_id; ?>">
</form>
Voici le script de addcom.php:
<?php
$requete = $bdd->prepare('
INSERT INTO `comment` SET
pseudo = :pseudo,
comment = :comment,
action_id = :action_id,
date = :date,
');
$requete->bindValue(':pseudo', $_POST['pseudo']);
$requete->bindValue(':comment', $_POST['comment']);
$requete->bindValue(':action_id', $_POST['action_id']);
$requete->bindValue(':date', $_POST['date']);
$requete->execute();
header('Location: ' . $_SERVER['HTTP_REFERER'] );
?>
Donc il me redirige correctement mais ne m'enregistre rien dans la table.
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 973
30 déc. 2009 à 18:01
30 déc. 2009 à 18:01
C' est normal tout ces ecart de ligne???
T' a plein de petites fautes, pas de virgules apres :date par exemple, enfin tiens.
<?php
$requete = $bdd->prepare('INSERT INTO `comment` SET pseudo = :pseudo, comment = :comment, action_id = :action_id, date = :date')or die(mysql_error());
T' a plein de petites fautes, pas de virgules apres :date par exemple, enfin tiens.
<?php
$requete = $bdd->prepare('INSERT INTO `comment` SET pseudo = :pseudo, comment = :comment, action_id = :action_id, date = :date')or die(mysql_error());
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
30 déc. 2009 à 18:02
30 déc. 2009 à 18:02
En passant, ça fait plaisir de voir PDO :)
Les espaces étaient sans doute pour la lisibilité du script.
Les espaces étaient sans doute pour la lisibilité du script.
John4834
Messages postés
94
Date d'inscription
lundi 21 décembre 2009
Statut
Membre
Dernière intervention
22 juin 2011
4
30 déc. 2009 à 18:04
30 déc. 2009 à 18:04
<?php
$requete = $bdd->prepare('INSERT INTO `comment` SET pseudo = :pseudo, comment = :comment, action_id = :action_id, date = :date')or die(mysql_error());
header('Location: ' . $_SERVER['HTTP_REFERER'] );
?>
Pareil avec ce script.
je suis désolé de vous embêter avec çà, mais je comprend vraiment pas ce qui cloche.
J'ai également changé le "name" de mon formulaire pour le contenu qui est devenu comment au lieu de contenu.
$requete = $bdd->prepare('INSERT INTO `comment` SET pseudo = :pseudo, comment = :comment, action_id = :action_id, date = :date')or die(mysql_error());
header('Location: ' . $_SERVER['HTTP_REFERER'] );
?>
Pareil avec ce script.
je suis désolé de vous embêter avec çà, mais je comprend vraiment pas ce qui cloche.
J'ai également changé le "name" de mon formulaire pour le contenu qui est devenu comment au lieu de contenu.
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
30 déc. 2009 à 18:09
30 déc. 2009 à 18:09
Tu as quelle erreur ?
Quelque-chose du style "The headers are already sent" ?
Quelque-chose du style "The headers are already sent" ?
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 973
30 déc. 2009 à 18:10
30 déc. 2009 à 18:10
$requete = "INSERT INTO 'comment' (pseudo,comment,action_id,date) VALUES (:pseudo,:comment,:action_id,:date)";
$q = $conn->prepare($requete);
$q->execute(array(':pseudo'=>$pseudo, ':comment'=>$comment, ':action_id'=>$action_id, ':date'=>$date));
essaie comme ca
$q = $conn->prepare($requete);
$q->execute(array(':pseudo'=>$pseudo, ':comment'=>$comment, ':action_id'=>$action_id, ':date'=>$date));
essaie comme ca
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
30 déc. 2009 à 18:13
30 déc. 2009 à 18:13
Sa technique avec "SET" est correcte.
https://dev.mysql.com/doc/refman/8.0/en/insert.html
https://dev.mysql.com/doc/refman/8.0/en/insert.html
graffx
Messages postés
6506
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
24 mars 2019
1 973
30 déc. 2009 à 18:14
30 déc. 2009 à 18:14
t' es dur avec moi avion, j' essayais de t' impressionner la XD
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 497
30 déc. 2009 à 18:17
30 déc. 2009 à 18:17
;-)
T'inquiètes, je ne connaisssais pas cette technique, mais j'ai vite demander à mon pote Google et il m'a dit que cette technique existe :)
T'inquiètes, je ne connaisssais pas cette technique, mais j'ai vite demander à mon pote Google et il m'a dit que cette technique existe :)