bonjour a tous je suis entrain de realiser mon site et j'ai un petit soucis j'aimerai que les donnés renseignés dans le formulaire de commentaire ne soient pas envoyé une seconde fois en actualisant le page. car les commentaire sont bien envoyé mais quand la page est actualisé les même donnés sont a nouveau envoyé
besoin de vous svp Smiley decu
j'ai mon formulaire
 <div id='comments-form'>
              <h3>Votre commentaire</h3> 
              <form accept-charset='UTF-8' method='post'>
                <p class='name'>
                  <label for='name'>Nom</label>
               <input class='input-text required' id='name' name='nom' type='text'>
                </p>
                <p class='email'>
                  <label for='email'>Email</label>
                  <input class='input-text required' id='email' name='email' type='email'>
                </p>
                <p class='message'>
                  <label for='message'>Votre commentaire</label>
                  <textarea class='required' cols='80' id='message' name='message' rows='5'></textarea>
                </p>
                <div class='spacing'></div>
                <p>
                  <input class='button' name='submit_comment' type='submit' value='Commenter'>
                </p> 
              </form>

et la j'ai mes paramètres qui vont gérer mes articles et mes commentaires. j'ai fais un header location pour retourner sur ma page d'articles apres envoie du commentaire, mais je ne veux pas ca je veux rester sur la page de l'article qui a ete commenté
<?php
require_once 'based.php';
//paramètre d'article
if(isset($_GET['id']) AND !empty($_GET['id'])) {
	$get_id = htmlspecialchars($_GET['id']);
	
	$article = $bdd->prepare('SELECT * FROM article where id = ?');
	$article->execute(array($get_id));
	
	if($article->rowcount() == 1) {
		$article = $article->fetch();
		$id = $article['id'];
		$titre = $article['titre'];
		$contenu = $article['contenu'];
		$date_time_publication = $article['date_time_publication'];
			
} else {
	die('cet article n\'existe pas !');
}

} else {
	die('erreur');
	
}
//paramètre des commentaires
if (isset($_POST['submit_comment'])){
if(isset($_POST['nom'],$_POST['email'],$_POST['message']) AND !empty($_POST['nom']) AND !empty($_POST['email']) AND !empty($_POST['message'])){
        $nom = htmlspecialchars($_POST['nom']);
		$email = htmlspecialchars($_POST['email']);
		$message = htmlspecialchars($_POST['message']);		
		if(strlen($nom) <20) {
		if(filter_var($email, FILTER_VALIDATE_EMAIL)){
		
        $ins = $bdd->prepare('INSERT INTO commentair (nom, email, commentaire, date_time_comment, id_article) VALUES(?,?,?, NOW(),?)');
		$ins->execute(array($nom,$email,$message,$get_id));
		header('location:  http://127.1.0.0:8080/lalampe/article.php');    
		$c_erreur = "Votre commentaire a bien été posté";
		 }else
		 {
			$c_erreur =" oups! Votre adresse mail n'est pas valide !"; 
		 }		
		}else{
		$c_erreur =" Oups! votre nom ne doit pas aller au-dela de 20 caractères";	
		}
}else{
  $c_erreur =" oups! tout les champs doivent être renseigner"; 	
}	
   
} 
    $commentaire = $bdd->prepare('SELECT * FROM commentair where id_article = ? ORDER BY date_time_comment DESC');
	$commentaire->execute(array($get_id));
	//fin parametre commentaire		
	//on recupère les infos dans la base pour notre systeme  d'ajout reccent
	$req = $bdd->query('SELECT * FROM article ORDER BY date_time_publication DESC LIMIT 0,6');
		
?>  

Modifié par didcapitaine (24 May 2018 - 17:30)