Probleme avec session_destroy et header en ph

alphon5o -  
bissdebrazza Messages postés 2886 Statut Contributeur -
Bonjour,
Voila mon souci; tout dabord voici le script

<?php
session_destroy();
header("Location: index.php");
?>


ce script est appélé lorsque l'utilisateur decide de se deconnecter. en local( chez moi ça marche tres bien) mais chez mon hebergeur voila ce qu'il m'affiche


Warning: session_destroy(): Trying to destroy uninitialized session in WWW/public/tmp/PROJETBD/auth/logout.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /WWW/public/tmp/PROJETBD/auth/logout.php:2) in /WWW/public/tmp/PROJETBD/auth/logout.php on line 3



merci de m'aider; je ne sais vraiment pas ce que ça veut dire

3 réponses

bissdebrazza Messages postés 2886 Statut Contributeur 712
 
Salut!
avant de détruire la session,il faut l'initialiser.donc dans ton code déconnexion tu met ceci:
<?php
session_start();
session_unset();
session_destroy();
exit();
?>

bonne fin de journée!
1
alphon5o
 
merci pour l'aide. ça marche a present.

par contre j'ai un otre souci sur le meme ordre d'idée; il s'agit d'inclure avec include un fichier qui doit generer une image et comme il ya un header ds ce dernier il m'affiche un message d'erreur.

voici le script a inclure:

<?php
header ("Content-type: image/png");
$image = imagecreate(300,30);

if (date("H") > 8 AND date("H") < 20) // Il fait jour
{
$fond = imagecolorallocate($image, 143, 190, 241); // Fond bleu clair
$couleur_texte = imagecolorallocate($image, 0, 255, 0); // Texte en vert
}
else // Il fait nuit
{
$fond = imagecolorallocate($image, 0, 0, 0); // Fond noir
$couleur_texte = imagecolorallocate($image, 255, 255, 255); // Texte en blanc
}

$perso = uniqid(rand()); // On stocke l'heure et les minutes dans une variable

imagestring($image, 5, 40, 10, $perso, $couleur_texte); // On affiche l'heure dans la bonne couleur
$_SESSION['valeur_image'] = $perso;
imagepng($image);
imagedestroy($image);
?>



et voici l'erreur qu'il affiche:

Warning: Cannot modify header information - headers already sent by (output started at /tmp/PROJETBD/auth/inscription.php:7) in tmp/PROJETBD/auth/test.php on line 2
‰PNG  ��� IHDR��,������¬v±$���PLTE¾ñ�ÿ�Hˆ%��IDAT8í1jÃ0†%J‡G=tyƐ3ÈB“\EÆàÉCÇ¥qØÔf•oÑ#È”ÅÈèèì,%Ci“.û Í·¾÷ÿü„\ù×àb¹Û4]Ч´*ˆ‘§ózÓ´yJZ—†µÊ"¦ ½\ãȯŠð]´ZìóÙp›TZ²F“,ykMÝ CUfF�}ÑigáÑÒZË,u»e“"ëpΙ¯>„g™‡Ò÷£oÌN�V9±—tîë¤ †Ý*LJ”ai~µo bŸò�F𯔣áésNšºÌP´ŽE#-àX¸VRPå„9¾ÆÂ¯ ò´“íñðuúY­«Í¡—Ÿ¸Ú2 £y¯üq¨;_xDÉ����IEND®B`‚

c vrai que c incomprehensible.

en gros l'idée ce de generer une image qui contient un code qui doit etre renseigner dans un formulaire; j'ai pensé a cette solution mais aparemment elle ne fonctionne pas du tout

j'ai essayé de proceder oci de cette façon <img src="test.php" alt="" id="" /> mais ici g ne sais pas comment faire pour recuperer le code pour pouvoir le comparer au code que va saisir l'utilisateur. j'ai mis des variables de session mais il me donne toujours le precedent code.
merci de m'aider la dessus oci svp
0
sebshiva Messages postés 198 Statut Membre 10
 
Salut!

Quelle syntaxe utilises-tu pour tes variables de session?
Quelle version de PHP utilises-tu chez toi?
0
alphon5o
 
j'utilise PHP Version 4.3.4; pour ce qui de la syntaxe des variables de session voici le code:


<?php
session_start();
if($_SESSION['utilisateur'] == null || $_SESSION['utilisateur'] < 1 ){
header("Location: index.php");
exit;
}
include("variables.inc.php");
$connect = mysql_connect($bddserver,$bddlogin,$bddpassword) or die("Echec connexion serveur de ba\
se: ".$bddserver);
mysql_select_db($bdd) or die("Echec connexion base de donnee: ".$bdd);
$sql ="SELECT nom,prenom,login FROM $table_user WHERE id='".$_SESSION['utilisateur']."'";
$resultat = mysql_query($sql);
$utilisateur = mysql_fetch_array($resultat);
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tr\
ansitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Bienvenue <?php echo $utilisateur['login']; ?></title>
</head>

<body>
Bonjour <?php echo $utilisateur['nom']." ".$utilisateur['prenom'];?>, Bienvenue sur ce site<br />
<a href="logout.php" title="se deconnecter">Deconnexion</a>
</body>
</html>

0
bissdebrazza Messages postés 2886 Statut Contributeur 712
 
essai de lire ceci.et puis,regarde si tu n'as pas d'espace au début de ton code.
0