Cannot send session cookie

Invité
Invité n'ayant pas de compte PHPfrance

17 août 2008, 19:02

bonjour,

j'obtien cette erreur "Cannot send session cookies" alors que mon document commence par 1ere ligne comme suite:
<?php
// declarer notre session ici
session_start();

$page=$_SERVER['HTTP_REFERER'];
$_SESSION['page']=$page; 

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

17 août 2008, 19:05

Bonjour,

Quel est le message d'erreur exact?

Si c'est "headers already sent" après, c'est forcément que tu as du code HTML avant d'ouvrir ta balise PHP (une ligne blanche, un espace, autre...) :-)
Quand tout le reste a échoué, lisez le mode d'emploi...

Invité
Invité n'ayant pas de compte PHPfrance

17 août 2008, 19:29

Code : Tout sélectionner

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at formulaire.php:1) in formulaire.php on line 3 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at formulaire.php:1) in formulaire.php on line 3
le pire c'est que mon code commence par:
<?php
// declarer notre session ici
session_start();

if (isSet($_POST['page'])){
$page = $_SERVER['HTTP_REFERER'];
$_SESSION['page'] = $page;
}
en tete de page, aucun espace ni echo

ViPHP
AB
ViPHP | 5818 Messages

17 août 2008, 19:47

Te reste plus qu'à refaire ce bout de code dans une page séparée pour voir ce que cela donne...

Sinon la valeur $_SERVER['HTTP_REFERER']; n'est pas une valeur de confiance puisqu'elle est renvoyée et facilement paramétrable par le client. Une fois sur deux (souvent plus) $_SERVER['HTTP_REFERER'] te retourneras donc 0.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

17 août 2008, 19:54

Si tu es en UTF-8, converti ton script en UTF-8 sans BOM
Quand tout le reste a échoué, lisez le mode d'emploi...

Invité
Invité n'ayant pas de compte PHPfrance

17 août 2008, 19:55

<?php
include ('session.php');

?>

et ca reste le meme probleme

Invité
Invité n'ayant pas de compte PHPfrance

18 août 2008, 00:49

Si tu es en UTF-8, converti ton script en UTF-8 sans BOM
qu'est ce qu'on peut dire par UTF-8 sans BOM?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

18 août 2008, 00:57

Si tu es en UTF-8, converti ton script en UTF-8 sans BOM
qu'est ce qu'on peut dire par UTF-8 sans BOM?
Le BOM (Byte Order Mark) est un caractère invisible ajouté par certains éditeurs de texte pour indiquer que le contenu est en UTF-8
+ d'infos sur le BOM ici: http://fr.wikipedia.org/wiki/Byte_Order_Mark

Quel éditeur de code utilises-tu pour le PHP?
:arrow: regarde dans ses options si tu n'as pas la possibilité de supprimer le BOM
Quand tout le reste a échoué, lisez le mode d'emploi...

Invité
Invité n'ayant pas de compte PHPfrance

18 août 2008, 01:30

j'utilise PHPDEsigner, pour le BOM est active, parce que certains caracteres sont converti en ???