Message erreur session pour capcha

Mammouth du PHP | 620 Messages

01 mai 2010, 13:53

bonjour,
j'ai mis sur le formualire de mon livre d'or un capcha pour eviter les postes indesisarable et autre spam.....
Lorsque je valide mon formaulire et que l'on verifi si le code est Ok j'ai ce message d'erreur (mais si le code saisi est valide le message s'joute bien quand meme au livre d'or)
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/monsite.com/valide-livre-or.php:6) in /var/www/monsite.com/valide-livre-or.php on line 125
mon test est le suivant :
<?php

// verification du code antispam
// On initialise la session 
session_start();
/* on vérifie que la code est toujours mémorisé en session et qu'il fait 6 caractères */ 
if(!isset($_SESSION['code']) || strlen($_SESSION['code']) != 6) die("Erreur !");

// on vérifie que la code entré est valide
if($_SESSION['code'] != $_POST['verif']) 
{ 
print("<center>Le '<b>code de verification</b>' est faut !</center>"); 
echo '<a href="javascript:history.back();">Retour</a>'; 
exit(); 
} 
savez vous pourquoi j'ai ce message d'erreur ?

Mammouth du PHP | 985 Messages

01 mai 2010, 14:37

Je suppose que la ligne 6 du fichier valide-livre-OR.php est l'ouverture de la session de ton post:
<?php

// verification du code antispam
// On initialise la session
session_start();
Au moment de l'ouverture de sessions, les headers sont envoyés.

Mais à la ligne 127 de ce même fichier, soit une autre session tente de s'ouvrir ou une autre tentative d'envoi de headers échoue (car les headers sont déjà envoyés).
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Mammouth du PHP | 620 Messages

01 mai 2010, 14:44

J'avai effectivement le header de ma page html de placer avant. j'ai donc remis mon session\start en debut de page et tout est ok.

Merci