[RESOLU] Warning: Cannot modify header information -

Développement, conception de sites web, PHP, (X)HTML, ASP, Ajax, CSS, Javascript, Flash, MySQL, et autres ont leurs entrées dans cette section. On peut aussi parler d'hébergement, de maintenance, de sécurité...

Modérateur: Modérateurs

[RESOLU] Warning: Cannot modify header information -

Messagepar atao » 28 Mai 2012 16:24

Bonjour,
Voilà mon pb :
Dans le livre d'or d'un site que nous avons développé, j'ai ceci qui apparait qd je poste un commentaire :

Warning: Cannot modify header information - headers already sent by (output started at /mnt/154/sda/0/3/laboiteachance/gsi/_debut.inc.php:37) in /mnt/154/sda/0/3/laboiteachance/gsi/creationCommentaire.php on line 45

Le commentaire est pourtant visible par la suite, ce serai une erreur de redirection...

Voilà le code :
Code: Tout sélectionner
<?php

include("_debut.inc.php");
include("_gestionBase.inc.php");
include("_controlesEtGestionErreurs.inc.php");
include("_fonctionstests.inc.php");

// CONNEXION AU SERVEUR MYSQL PUIS SÉLECTION DE LA BASE DE DONNÉES festival

$connexion=connect();
if (!$connexion)
{
   ajouterErreur("Echec de la connexion au serveur MySql");
   afficherErreurs();
   exit();
}
if (!selectBase($connexion))
{
   ajouterErreur("La base de données festival est inexistante ou non accessible");
   afficherErreurs();
   exit();
}

// champs de saisi // action rappel page

$action=$_REQUEST['action'];

if ($action=='CreerCommentaire')

//initialisation des champs

{
   $commentaire='';
   $auteur='';
   $date=date('d.m.Y');
}   
else // On insère les données dans la table
{
$commentaire=$_REQUEST['commentaire'];
$auteur=$_REQUEST['auteur'];
$date=date('d.m.Y');


creercommentaire($connexion, $auteur, $commentaire, $date);
header('Location:listecommentaires.php'); //Redirection auto vers la liste des commentaires
}

// Affichage formullaire avec le champs caché action
echo "<form method='POST' action='creationCommentaire.php?'>
   <input type='hidden' value='insererCommentaire' name='action'>
   <table width='85%' cellspacing='0' cellpadding='0' align='center'
   class='tabNonQuadrille'>
   <tr class='enTeteTabNonQuad'>
         <td colspan='3'>Livre d'or</td>
   </tr>";
   
// Affichage date, auteur et commentaire dans le formulaire   
echo '
   <tr class="ligneTabNonQuad">
        <td><b>Date :</b></td>
      <td><i>'.$date.'</i></td>
     </tr>
   <tr class="ligneTabNonQuad">
        <td><b>Auteur :</b></td>
      <td><input type="text" value="'.$auteur.'" name="auteur" size="50"
        maxlength="45"></td>
     </tr>
    <tr class="ligneTabNonQuad">
      <td><b>Commentaire :</b></td>
      <td><textarea type="text" name="commentaire" cols="66">'.$commentaire.'</textarea></td>
     </tr>
    <tr>
      <td></td>
      <td><input type="reset" value="Annuler"/>   <input type="submit" value="Envoyer"/></td>
   </tr>';


Le site : http://laboiteachance.free.fr/gsi/listecommentaires.php

Merci
Dernière édition par atao le 28 Mai 2012 16:56, édité 1 fois.
atao
 

Re: Warning: Cannot modify header information - headers alre

Messagepar Falkra » 28 Mai 2012 16:29

Essaie sans cette ligne :
Code: Tout sélectionner
header('Location:listecommentaires.php'); //Redirection auto vers la liste des commentaires
Avatar de l’utilisateur
Falkra
Admin libellules.ch
Admin libellules.ch
 
Messages: 25882
Inscription: 30 Jan 2005 13:44
Localisation: 127.0.0.1

Re: Warning: Cannot modify header information - headers alre

Messagepar atao » 28 Mai 2012 16:31

Sans cette ligne, j'ai testé, il me met pas de message d'erreur, mais il ne redirige pas non plus vers le fil des commentaires...
atao
 

Re: Warning: Cannot modify header information - headers alre

Messagepar Falkra » 28 Mai 2012 16:39

Ok c'est donc que les headers sont déjà envoyés par les premiers include au début, donc il faut rediriger autrement, ou déplacer le header() où tu veux dans ton code avant l'envoi du HTML (bien en amont donc).

Sinon tu te fais une fonction comme ça :

Code: Tout sélectionner
    function redirige($url)
    {
       die('<meta http-equiv="refresh" content="0;URL='.$url.'">');
    }


Pour rediriger ensuite, tu peux appeler redirige("lapagededestination.php") et hop.
Avatar de l’utilisateur
Falkra
Admin libellules.ch
Admin libellules.ch
 
Messages: 25882
Inscription: 30 Jan 2005 13:44
Localisation: 127.0.0.1

Re: Warning: Cannot modify header information - headers alre

Messagepar atao » 28 Mai 2012 16:45

C'est bon ça marche! Merci beaucoup!
atao
 

Re: [RESOLU] Warning: Cannot modify header information -

Messagepar Falkra » 28 Mai 2012 19:05

Super ! :super:
Avatar de l’utilisateur
Falkra
Admin libellules.ch
Admin libellules.ch
 
Messages: 25882
Inscription: 30 Jan 2005 13:44
Localisation: 127.0.0.1


Retourner vers Développement, conception de sites web

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités