Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: glork le le 27-06-2006 a 23:39:45

Titre: setcookie après code html
Posté par: glork le le 27-06-2006 a 23:39:45

Bonjour J'ai un problème assez spécial dans un de mes scripts


Code:
<?php
$dir = './';
$titre = 'Connexion';
define('fichier',true);
include($dir . 'include/comun.php');

//Deconnexion
if(isset($_GET['deconnect']))
{

if($user_id == 0) //L'utilisateur est déjà déconnecté
{
message_erreur('Vous êtes déjà déconnecté !');
exit;
}


//Les cookies sont supprimés
setcookie('uid','',time());
setcookie('username','',time());
setcookie('password','',time());

$template->assign('connecte',false);
$template->assign('usertype', 0);

}

//... D'Autre code sans importance //


Je pense que tout le monde a compris non ? ;) Je veux détruire les cookies utilisateur mais il y a plein de xHTML avant mon setcookie ! :-[
Y aurait-il un moyen moins lourd que de rediriger le visiteur vers une autre page pour règler ça ?

Titre: Re:setcookie après code html
Posté par: real34 le le 28-06-2006 a 12:15:56

Si tu rajoutes un ob_start() en début de page et un ob_end_flush() en fin de code, cela marchera.
Cela passe par le tampon de sortie et ton texte ne sera écrit qu'une fois toutes les actions effectuées, donc pas de headers already sent !

http://fr.php.net/ob_start
@+

Titre: Re:setcookie après code html
Posté par: glork le le 28-06-2006 a 23:21:03

merci beaucoup ;)
J'essayerai ça.

Titre: Re:setcookie après code html
Posté par: KaRaK le le 29-06-2006 a 02:22:27

Cela ne fonctionne que sous php5 non ?

Titre: Re:setcookie après code html
Posté par: glork le le 29-06-2006 a 02:23:55

Non. Tout est en ordre. Mon hébergeur a PHP4 et cela fonctionne.
C'est même marqué dans la doc : http://fr.php.net/ob_start

Titre: Re:setcookie après code html
Posté par: KaRaK le le 29-06-2006 a 02:30:36

Ok merci pour l'info.


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.