bruce207
Messages postés106Date d'inscriptionmardi 4 mars 2008StatutMembreDernière intervention 2 mai 2012
-
3 mai 2011 à 10:26
bruce207
Messages postés106Date d'inscriptionmardi 4 mars 2008StatutMembreDernière intervention 2 mai 2012
-
3 mai 2011 à 12:46
Bonjour,
mon problème est le suivant j'ai le code ci-dessous dans le fichier comment.php et je l'inclu (include_once 'comment.php' ) dans la page index. c'est un script qui permet d'ajouter les commentaires dans la page en cours. L'insertion se déroule bien mais lorsque je réaffiche la page par la méthode action du formulaire à laquelle j'ai mis par code l'adresse de la page, je ne vois pas le commentaire. Et lorsque j'actualise ça m'ajoutes de nouveau le même enregistrement et fais apparaitre l'enregistrement précédent. En fait lorsque je charge la page pour la 1ere fois, tous les commentaires s'affichent. Mon problème est donc de savoir comment faire pour insérer un commentaire et recharger la page qui l'affiche et comment gérer le bouton actualiser. Voici le code
<?php
// Active tout les warning. Utile en phase de développement
// En phase de production, remplacer E_ALL par 0
error_reporting(0);
// Inclus le fichier contenant les fonctions personalisées
include_once 'S_DPHSOFT/mes_fonctions.php';
// Fonction de connexion à la base de données
//connexion_DB('dphsoft');
?>
<html>
<head>
</head>
<?php
//Connexion à la bdd
connexion_DB('dphsoft');
//Recherche de tous les commentaires par la requete SELECT
$reqSQL='SELECT * from comment where id_pageec ="'.$_ENV['id_p'].'" ORDER BY idcomment DESC';
$reponse=requete_SQL($reqSQL);
while($donnees=mysql_fetch_array($reponse))
{
//Affichage des commentaires
?> Par <?php echo $donnees['nomComment'] ;?> Le <?php echo $donnees['dateComment']; ?>
<hr />
<?php echo $donnees['lcomment']; ?>
<hr/>
<?php } ?>
//Formulaire d'ajout de nouveau commentaires
<form name="comment" method="post" action="<?php 'http://' . $_SERVER['SERVER_ADDR'] . ':' . $_SERVER['SERVER_PORT'] . $_SERVER['REQUEST_URI']; ?>">
NOM*, ,
----
ADRESSE MAIL*,
<label>Votre commentaire
<textarea id="text8" class="ckeditor" name="texte" cols="40" rows="10"onkeyup="compteCarac('text8', 'nbCarac8');" ></textarea>
0 caractère(s)
</form>
//Ajout de nouveau commentaire
<?php if (isset($_POST['valider']) && !empty($_POST['texte'])) {
$date = getdate();
echo $date;
connexion_DB('dphsoft');
$reqSQL='INSERT INTO comment (idcomment, lcomment, id_pageec, nomComment, adresseMail, dateComment) values ("", "'.$_POST['texte'].'", "'.$_ENV['id_p'].'", "'.$_POST['nom'].'", "'.$_POST['mail'].'", "'.$date.'")';
requete_SQL($reqSQL);
deconnexion_DB();
$_POST['texte'] = "";
}
?>
</html>
cod57
Messages postés1653Date d'inscriptiondimanche 7 septembre 2008StatutMembreDernière intervention11 septembre 201319 3 mai 2011 à 11:25
je te conseille de ne pas ecrire les $_POST direct dans la requete (hack)
il existe une fonction extract() qui les transforme
utilser mysql_real_escape_string()
cs_ludwig59
Messages postés128Date d'inscriptionlundi 21 avril 2008StatutMembreDernière intervention 6 mai 20112 3 mai 2011 à 12:17
Bonjour,
Il faut mettre la requête d'ajout du commentaire avant d'afficher la liste des commentaires pour prendre en compte directement celui qui vient d'être ajouté.