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

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    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
    Points : 3 212
    Points
    3 212

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    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
    Points : 3 212
    Points
    3 212
    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 régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    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
    Points : 3 212
    Points
    3 212
    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 averti Avatar de Asmodean
    Profil pro
    Inscrit en
    Février 2006
    Messages
    311
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 311
    Points : 378
    Points
    378
    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 régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    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

  9. #9
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Ton erreur est a la ligne 8 mais pas dans le meme fichier, dans connexion2.php
    tu dois avoir dans ce fichier un saut de ligne avant ou apres tes balises <?php ?> vérifies bioen que tu n'as rien en début et fin de ces fichiers (meme pas un espace)

    sinon donne le code de ce fichier...

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    j'ai pa de saut de ligne mais je suppose qu'il faut aussi quej'enlève le HTML
    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <?php  //connexion a Mysql
    $hote="localhost";
    $user="root";
    $password="";
    //connexion au serveur de données :
    $cnx = mysql_connect($hote, $user, $password) or die ("Echec de la connexion à MySQL". mysql_error());
    //connexion à la base :
    mysql_select_db("zppaup", $cnx) or die (mysql_error());
    ?>
    </body>
    </html>
    </body>
    </html>

  11. #11
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Oui il faut enlever tout le html, ce script est un script de connexion a une bdd, tu ne peux pas avoir les balises html dedans alors que tu vas l'inclure dans d'autres fichiers.

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    donc comme l'autre je le mets en dessou ou je peux le supprimer carément?

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    j'ai encore une erreur cette fois ci c'est mon mysql_db_query

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    c'est bon ça marche merci beaucoup

+ 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, 03h53
  2. [JpGraph] problème avec header
    Par ciesco dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 08/01/2006, 17h02
  3. [Tableaux] problème de header
    Par gregal dans le forum Langage
    Réponses: 2
    Dernier message: 09/12/2005, 15h06
  4. [Système] Problème avec header() ...
    Par tom06440 dans le forum Langage
    Réponses: 15
    Dernier message: 27/10/2005, 21h33
  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, 16h35

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