(comportement bizarre)pas de Headers already sent by..... ??

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : (comportement bizarre)pas de Headers already sent by..... ??

Re: (comportement bizarre)pas de Headers already sent by..... ??

par niuxe » 01 févr. 2010, 05:33

Hello,

Merci Ryle, c'est bien le output_buffering. Également merci pour tes petites précisions.

Bonne journée à toi et merci à tous de m'avoir aidé. ^^

Re: (comportement bizarre)pas de Headers already sent by..... ??

par Ryle » 31 janv. 2010, 13:33

Cela provient probablement du buffer php :)

Vérifie (si tu y as accès) la valeur de output_buffering dans ton php.ini.

S'il est activé, php va stocker les données que tu envois au navigateur dans un buffer temporaire avant de les envoyer réellement. Ainsi, tant que le volume des données que tu envois au visiteur ne dépasse pas la taille du buffer (cad du output_buffering), rien n'est envoyé au navigateur.

Dans ce cas, les fonctions header(), session_start() et compagnie peuvent encore être appellées même si ton script a déjà généré des écritures (puisque php retient les données à envoyer). Mais comme il s'agit d'un paramétrage du serveur, mieux vaut que ton code n'en dépendent pas et continue à ne rien afficher avant un header() :)

Re: (comportement bizarre)pas de Headers already sent by..... ??

par Patriboom » 31 janv. 2010, 05:12

S'il ne renvoie pas le message attendu, c'est peut-être simplement parce que le module "SESSION" n'est pas activé sur ton serveur.

Jette un oeil sur phpinfo();

Re: pas de Headers already sent by..... ??

par niuxe » 30 janv. 2010, 21:11

[..]
C'est à dire que lorsque j'utilise un echo ou un autre type d'affichage avant un header ou setcookie ou etc., je n'ai pas l'erreur attendue. (??)
[..]
Sinon, il me fait la redirection vers ok.html. (??)
hum. :roll:

Re: pas de Headers already sent by..... ??

par stealth35 » 30 janv. 2010, 18:02

ton session_start(); doit etre au tout debut du fichier

Re: pas de Headers already sent by..... ??

par ooflorent » 30 janv. 2010, 16:39

Tu as envoyé de l'HTML à ta sortie puis le tag <?php ne figure pas en premier dans ton fichier.

(comportement bizarre)pas de Headers already sent by..... ??

par niuxe » 30 janv. 2010, 08:51

Hello tout le monde,

J'ai un truc bizarre avec ma config PHP (5.2.9-2). C'est à dire que lorsque j'utilise un echo ou un autre type d'affichage avant un header ou setcookie ou etc., je n'ai pas l'erreur attendue. (??)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
	<head>
		<meta http-equiv="content-type" content="text/html;charset=iso-8859-1" />
		<title>un titre</title>
	</head>
	<body>
<?php 
error_reporting(E_ALL);
session_start();
echo "quelque chose";
setcookie("cle","valeur",3600,"/");
echo $_COOKIE["ok"];
header("location:ok.html");
Le seul message d'erreur que j'ai :
Notice: Undefined index: ok in C:\wamp\www\temporaire\header_bizare\index.php on line 14
Sinon, il me fait la redirection vers ok.html. (??) Vous avez une idée d'où cela pourrait provenir ?

Bonne journée à vous.