Php problème de header

TRUNCKS Messages postés 1066 Statut Membre -  
naruto-94 Messages postés 904 Statut Membre -
Bonjour à vous,

J'ai un petit soucis avec le petit système de commentaires de mon site.

Une fois le commentaire enregistré, j'utilise header location pour revenir à la page avec le commentaire nouvellement écrit.

Seulement, j'ai une erreur à la validation, le commentaire est bien enregistré mais le header ne fonctionne pas, il me dit qu'il a déja été envoyé.

Il y a un moyen de contourner ou de faire autrement ?

$sq = "INSERT INTO commentaires VALUES('','$pseudo','$message',NOW(),'11')"; 
$quer = mysql_query($sq) or die('erreur sq: '.mysql_error());

// commentaire enregistré
header('Location:texte.php');

--

5 réponses

  1. naruto-94 Messages postés 904 Statut Membre 188
     
    Hello,

    quand tu utilises la fonction header tu n'as pas le droit de faire un echo ou de mettre du html avant son utilisation .
    0
  2. TRUNCKS Messages postés 1066 Statut Membre 8
     
    Merci pour la réponse,

    Du coup comment je peux le formulaire pour que, une fois le commentaire valider, je retourne sur la page ?
    0
  3. naruto-94 Messages postés 904 Statut Membre 188
     
    tu peux utiliser une redirection en javascript à la place du header ( à placer en dehors des <?php ?> )

    <script type="text/javascript">
    window.location = "texte.php"
    </script>
    0
  4. TRUNCKS Messages postés 1066 Statut Membre 8
     
    Merci bien,

    Mais le soucis avec cette solution ( ou alors je m'y prend mal ) c'est que si on actualise la page juste derrière, on crée un doublon :(
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. naruto-94 Messages postés 904 Statut Membre 188
     
    oui c'est vrai , il y a un moyen ( voir plusieurs ) de vérifier l'envoie de doublon , par exemple tu peux utiliser des variables session , dans la page formulaire tu mets $_SESSION['verification'] = 1 ; , et dans la page de traitement tu verifie si la variable est à 1 pour faire l'insert into , ensuite juste apres l'execution de la requêtes tu la mets à 0 , comme ça si la personne rafraichit la page la requete ne s'executera pas une deuxième fois .
    0