IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

problème de header()


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut problème de header()
    je travaille sur une base MySQL.J'ai fait un formulaire qui prend en compte le cas de l'ajout et le cas de la modif.Dans un autre script je récupère mes données saisies dans le formulaire et selon le numéro récupéré dans l'URL se sera un INSERT ou un UPDATE jusque là pas de soucis.Une fois ma requête executée je souhaite redirigée vers une page qui me présente la liste de synthese des données par un header
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location:commune.php");
    voici l'erreur donnée
    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\zppaup\trait_ajout_modif_commune.php:2) in c:\program files\easyphp1-8\www\zppaup\trait_ajout_modif_commune.php on line 29
    merci par avance

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    je veux bien mais sa marche pas...

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Ca marche pas c'est a dire? Est ce que ca te fait toujours la meme erreur? Si oui donne nous le code qu'il y avant le header, vérifies qu'il n'y aucun echo avant, ou html ou meme un saut de ligne avant ton <?php

    Si ca n'est plus la meme erreur, je pense qu'il faut un espace apres le Location: dans ton header

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    c'est la même erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <?php $NumCommune=$_GET["NumCommune"]; ?>
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <?php require ('connexion2.php');
    $NomCommune = strtoupper($_POST["NomCommune"]);
    $NomCommune = str_replace($NomCommune,"'","''");
    $Departement = $_POST["Departement"];
    $SuperficieCne = $_POST["SuperficieCne"];
    $Population = $_POST["Population"];
    $Maire = $_POST["Maire"];
    $Insee = $_POST["Insee"];
    $Pays = $_POST["Pays"];
    $NomCmteCnes = $_POST["NomCmteCnes"];
    $NomCmteAgglo = $_POST["NomCmteAgglo"];
    $NomCmteUrb = $_POST["NomCmteUrb"];
    if($NumCommune==0){
    $Req = "Insert into commune(NomCommune,Departement,SuperficieCne,Population,Maire,Insee,Pays,NomCmteCnes,NomCmteAgglo,NomCmteUrb) ";
    $Req = $Req."values ('".$NomCommune."','".$Departement."','".$SuperficieCne."','".$Population."','".$Maire."','".$Insee."','".$Pays."',";
    $Req = $Req."'".$NomCmteCnes."','".$NomCmteAgglo."','".$NomCmteUrb."')";}
    else {
    $Req = "Update commune set (SuperficieCne= '".$SuperficieCne."',Population= '".$Population."',Maire= '".$Maire."',Insee= '".$Insee."',Pays= '".$Pays."',";
    $Req = $Req."NomCmteCnes= '".$NomCmteCmes."',NomCmteAgglo= '".$NomCmteAgglo."',NomCmteUrb= '".$NomCmteUrb."')";}
    mysql_db_query("zppaup",$Req)or die (mysql_error());
    mysql_close($cnx);
    header('Location:commune.php');
    exit;
     
    ?>
    </body>
    </html>

  6. #6
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Au début de ton fichier tu as un ensemble de balises html !! Dans la FAQ il est écrit qu'il ne faut RIEN afficher avant de faire header donc tu ne peux pas faire l'affichage de cette manière!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    require ('connexion2.php');
    $NumCommune=$_GET["NumCommune"]; 
    $NomCommune = strtoupper($_POST["NomCommune"]);
    $NomCommune = str_replace($NomCommune,"'","''");
    $Departement = $_POST["Departement"];
    $SuperficieCne = $_POST["SuperficieCne"];
    $Population = $_POST["Population"];
    $Maire = $_POST["Maire"];
    $Insee = $_POST["Insee"];
    $Pays = $_POST["Pays"];
    $NomCmteCnes = $_POST["NomCmteCnes"];
    $NomCmteAgglo = $_POST["NomCmteAgglo"];
    $NomCmteUrb = $_POST["NomCmteUrb"];
    if($NumCommune==0){
    $Req = "Insert into commune(NomCommune,Departement,SuperficieCne,Population,Maire,Insee,Pays,NomCmteCnes,NomCmteAgglo,NomCmteUrb) ";
    $Req = $Req."values ('".$NomCommune."','".$Departement."','".$SuperficieCne."','".$Population."','".$Maire."','".$Insee."','".$Pays."',";
    $Req = $Req."'".$NomCmteCnes."','".$NomCmteAgglo."','".$NomCmteUrb."')";}
    else {
    $Req = "Update commune set (SuperficieCne= '".$SuperficieCne."',Population= '".$Population."',Maire= '".$Maire."',Insee= '".$Insee."',Pays= '".$Pays."',";
    $Req = $Req."NomCmteCnes= '".$NomCmteCmes."',NomCmteAgglo= '".$NomCmteAgglo."',NomCmteUrb= '".$NomCmteUrb."')";}
    mysql_db_query("zppaup",$Req)or die (mysql_error());
    mysql_close($cnx);
    header('Location:commune.php');
    exit;
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    </body>
    </html>
    D'ailleurs tout le code HTML est superflu vu que tu es sur de faire ta redirection

  7. #7
    Membre chevronné Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Par défaut
    En reprenant l'exemple du message d'erreur précédant, et pour résoudre le problème, il faut modifier le fichier fichierEnvoi.php à la ligne 37 pour déplacer ce qui produit l'envoi des en-têtes.

    Voici une liste (non exhaustive) de ce qui cause l'envoi des en-têtes :

    * un "echo"
    * un affichage hors PHP (c'est à dire de l'HTML en dehors du code)
    * un ou plusieurs retours chariots avant la balise "<?php"
    * une fonction qui rencontre une erreur et affiche un message (par exemple l'utilisation de la fonction "mysql_connect" avec de mauvais paramètres)
    Tu n'as pas l'impression d'avoir du html avant ton header??

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Par défaut
    sa marce toujours pas
    mais le message a légèrement changé

    Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\zppaup\connexion2.php:8) in c:\program files\easyphp1-8\www\zppaup\trait_ajout_modif_commune.php on line 23
    mon erreur est maintenant a la ligne 8

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT] Problème de header ? de cache ?
    Par siddh dans le forum Bibliothèques et frameworks
    Réponses: 23
    Dernier message: 05/12/2008, 04h53
  2. [JpGraph] problème avec header
    Par ciesco dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 08/01/2006, 18h02
  3. [Tableaux] problème de header
    Par gregal dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 16h06
  4. [Système] Problème avec header() ...
    Par tom06440 dans le forum Langage
    Réponses: 15
    Dernier message: 27/10/2005, 22h33
  5. [ImageMagick] Header envoyé lors de la création d'une image
    Par KLiFF dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 25/10/2005, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo