begin process at 2012 05 28 22:43:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

erreur cannot modify header information


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

erreur cannot modify header information

vendredi 22 juillet 2005 à 21:47:08 | erreur cannot modify header information

sarril

Bonjour,

j'utilise un formulaire de saisie qui m'envoie sur une page qui teste si une session est active, teste la saisie des champs et fait mes requetes. En cas de sesison inactive, j'ouvre une page de connexion, en cas d'oubli de saisie de champs, ma seconde page renvoie à la première en retournant les champs saisis.

Voici le code simplifié de ma page verif.php:
<?php
session_start();
if (!isset($_SESSION['login']))
{ header('location:connexion.php);exit; }
echo "<html><body>";
$nom=$HTTP_POST_VARS["nom"];
$prenom=$HTTP_POST_VARS["prenom"];
if ($nom=="")
{ header('location:saisie.php?retour=oui&prenom=$prenom');}
else
{ connexion + requete + deconnexion}
echo "</html></body>";
?>

lors de mes tests, quand je ne saisie pas de nom, j'ai l'erreur suivante :
WARNING: cannot modify header information - headers already sent by (output started at c:/.../verif.php:12) in c:/.../verif.php on line 28

la ligne 28 correspond à:
header('location:saisie.php?retour=oui&prenom=$prenom');

Pouvez vous me dépanner?

Merci par avance
vendredi 22 juillet 2005 à 21:50:38 | Re : erreur cannot modify header information

vilhjalms

Saell og blesud

Regardez la function ob_start() http://fr.php.net/manual/fr/function.ob-start.php

Vilhj
álms Sigurðsdóttir aka Frëyjá
vendredi 22 juillet 2005 à 22:05:50 | Re : erreur cannot modify header information

FhX

Réponse acceptée !
Même pas besoin !

<?php
session_start();
if (!isset($_SESSION['login']))
{ header('location:connexion.php);exit; }
$nom=$HTTP_POST_VARS["nom"];
$prenom=$HTTP_POST_VARS["prenom"];
if ($nom=="")
{ header('location:saisie.php?retour=oui&prenom=$prenom');}
else
{
echo "<html><body>";
connexion + requete + deconnexion}
echo "</html></body>";
?>

C'est plus joli comme ca, et ca t'évite de te faire chier avec du ob_start et de faire du code horrible à décrypter.

vendredi 22 juillet 2005 à 22:17:30 | Re : erreur cannot modify header information

vilhjalms

Saell og blesud

C'est sûr mais comme on ne savait pas s'il y avait du code html par exemple avant ... ;-)

Vilhj
álms Sigurðsdóttir aka Frëyjá
vendredi 22 juillet 2005 à 22:29:09 | Re : erreur cannot modify header information

FhX

Son echo commence par "<html>" ... c'étais pas si difficile de savoir que y'avais rien derrière ;)
vendredi 22 juillet 2005 à 22:29:10 | Re : erreur cannot modify header information

sarril

Merci à vous.

Comme je suis novice, la fonction ob_start me parait assez difficile à mettre en oeuvre.

Par contre, la seconde solution ne provoque plus d'erreur de header.
C'était juste la position de mon echo "<html><body>"; !!

Pouvez vous m'expliquer pourquoi?

Merci encore.


vendredi 22 juillet 2005 à 22:47:44 | Re : erreur cannot modify header information

vilhjalms

Saell og blesud

En fait j'ai surtout lu son WARNING ... ;-) Autrement ob_start()n'est pas très compliqué à utiliser et cela peut rendre service ...

Vilhj
álms Sigurðsdóttir aka Frëyjá
vendredi 22 juillet 2005 à 22:58:31 | Re : erreur cannot modify header information

coockiesch

Salut!
La fonction header ne peut pas s'utiliser après qu'une sortie ( html, echo, print, ... ) ait été effectuée... Une sortie est donc du code envoyé au navigateur.

La fonction ob_start met les données dans un buffer. Rien n'est transmis au navigateur à part les entêtes, ca permet donc d'éviter de se soucier si une sortie a deja été faite ou pas...

on_end_flush(); envoie le tout au navigateur à la fin du script...

Ah oui, il parait aussi que c'est plus rapide, :)

@++

R@f

P.S. Si j'ai fais une erreur, vilhjalms, corrigez-moi....

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"
vendredi 22 juillet 2005 à 22:58:44 | Re : erreur cannot modify header information

FhX

Un echo provoque une sortie en HTML... autrement dit, tu envoies des données au navigateur de ton visiteur.
En appelant une fonction header, tu veux utiliser un paramètre d'en tête du navigateur de ton visiteur, hors tu es déja passé aux données (et oui, avec le echo !), donc tu ne peux pas envoyer de header.

L'ordre chronologique est :
header (en tête)
body (données)

et surtout pas l'inverse :)

vendredi 22 juillet 2005 à 22:59:30 | Re : erreur cannot modify header information

coockiesch

ob_end_flush(); et pas on_end_flush();

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...

"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"


Cette discussion est classée dans : page, php, saisie, header, prenom


Répondre à ce message

Sujets en rapport avec ce message

HELP***Header ????!!!!??????*** [ par kodiask ] alor g mon index et dedan kan je clik g include("membres.php") dans ma page membre g :session_start()if (session_is_registered('login)'){header("loca Fonction header et fichier .htaccess [ par Bestgamer ] J'ai un problème avec la fonction header dans PHP.Voici le code dans mon fichier .htaccess:ErrorDocument 404 http://localhost/erreur404.phpQuand j'ess header("location: page.php") [ par benstar ] j'ai eu ce msg d'erreur "Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-7\www\format Lancer une page en PHP [ par adess00 ] SalutJe voudrai que ma page compte.php se lance apres qu une condition soi vraiJ ai essayer header("compte.php") mais sa ne marche pas il me di : Cann header [ par DonDiego32 ] Salut! J'ai un autre soucis récurrent avec hearder! A chaque fois que je veux effectuer une redirection, j'ai un message d'erreur me disant : "Warnin pb avec header [ par ahcorad ] je veux afficher la page de résultats au milieu de ma page d'accueil qui è définipage d'accueil :    $page = $_GET["page"];    $page_aff = $page.".php gestion des header location [ par sokhay3 ] bonjour voila mon probleme: sur ma page php j'ai un formaulaire avec plusieurs boutons et chaque bouton redirige l'utilisateur sur une page différente aide pleasee [ par termifr ] Voila qelqu'un peut il m'aider?une page php composé d'un header et d'un include.:Dans le header un code php qui compte le nombre de page visité par l' Gros problème de redirection header('location : mapage1.php') [ par amewole ] Autre façon d'utiliser la redirectionj'ai deux pages mapage1.php et mapage2.php.Dans un premier temps je suis sur la page mapage1.php qui est une long Fermeture de page automatique [ par 24Karas ] Salut,j'ai un petit probleme sur une de mes pages php. Je m'explique ...j'ai un bouton dans la page "a.php".Ce bouton execute un formulaire dont l'act


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales