Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/07/2007, 11h20   #1
Membre du Club
 
Inscription : juin 2007
Messages : 512
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : juin 2007
Messages : 512
Points : 64
Points : 64
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 :
header("Location:commune.php");
voici l'erreur donnée
Citation:
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
ballantine's est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 11h23   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
LA réponse est dans la FAQ : http://php.developpez.com/faq/?page=...s_already_sent
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 11h59   #3
Membre du Club
 
Inscription : juin 2007
Messages : 512
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : juin 2007
Messages : 512
Points : 64
Points : 64
je veux bien mais sa marche pas...
ballantine's est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 12h01   #4
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
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
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 12h05   #5
Membre du Club
 
Inscription : juin 2007
Messages : 512
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : juin 2007
Messages : 512
Points : 64
Points : 64
c'est la même erreur

Code :
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>
ballantine's est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 12h07   #6
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
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 :
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
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 12h08   #7
Membre éclairé
 
Avatar de Asmodean
 
Inscription : février 2006
Messages : 311
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France

Informations forums :
Inscription : février 2006
Messages : 311
Points : 346
Points : 346
Envoyer un message via MSN à Asmodean
Citation:
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??
__________________
Such is the situation in our Fallen Galaxy
Asmodean est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 12h13   #8
Membre du Club
 
Inscription : juin 2007
Messages : 512
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : juin 2007
Messages : 512
Points : 64
Points : 64
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
ballantine's est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 12h17   #9
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
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...
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 14h03   #10
Membre du Club
 
Inscription : juin 2007
Messages : 512
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : juin 2007
Messages : 512
Points : 64
Points : 64
j'ai pa de saut de ligne mais je suppose qu'il faut aussi quej'enlève le HTML
Code :
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>
ballantine's est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 14h12   #11
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
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.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 14h29   #12
Membre du Club
 
Inscription : juin 2007
Messages : 512
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : juin 2007
Messages : 512
Points : 64
Points : 64
donc comme l'autre je le mets en dessou ou je peux le supprimer carément?
ballantine's est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 14h36   #13
Membre du Club
 
Inscription : juin 2007
Messages : 512
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : juin 2007
Messages : 512
Points : 64
Points : 64
j'ai encore une erreur cette fois ci c'est mon mysql_db_query
ballantine's est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2007, 14h38   #14
Membre du Club
 
Inscription : juin 2007
Messages : 512
Détails du profil
Informations personnelles :
Âge : 24
Localisation : France, Indre et Loire (Centre)

Informations forums :
Inscription : juin 2007
Messages : 512
Points : 64
Points : 64
c'est bon ça marche merci beaucoup
ballantine's est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h10.


 
 
 
 
Partenaires

Hébergement Web