Forums Rue-Montgallet.com
Rue-Montgallet.comRue-Hardware.comRue-Occasion.comRue-DVD.comRue-Jeuxvideo.comRue-AudioVideo.comRue-Telephone.comForums
S'inscrire | S'identifier |
| Recherche avancée | Aide
 
 

Au coin de la ruelle : kord et 19 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet :

problème de session register et cookie

 
n°17106
jimm56
Profil : Jeune recrue
Posté le 09-07-2006 à 10:15:43  profilanswer
 

Bonjour,  
J'ai un petit souci pour mon site perso (je suis sous win xp)  
Sur mon site j'ai ces messages d'erreur mais je ne sai spas d'ou cela peut provenir donc si quelqu'un peut m'aider ça serait sympa  
voici le site : www.garagephs.fr (dans le menu taper sur consultations), je vous donne aussi le programme qui pose problème  
 
require ("table.php" );  
 
require ("params.php" );  
//ecriture de l'instance dans les variables de session  
$_SESSION["garagephauto"]=new table ($user, $host,$passwd,$db) ;  
print '<?xml version="1.0" encoding="iso-8859-15"?>';  
?>  
<body>  
 
<?php  
/*------------------------------------------------------------------------------------------  
Connexion à la base  
------------------------------------------------------------------------------------------*/  
//activation des messages d'erreur  
$_SESSION["garagephauto"]->errorenable();  
$_SESSION["garagephauto"]->connect();  
session_register ("garagephauto" );  
?>  
 
<div style="align: center; font-size: 12p">  
 
<table align="center" width="40%" border="1" style="background-color: #F5F5F5">  
<tr>  
<td colspan="4" align=center style="font-size: 17pt; color: #000080">  
MARQUES  
</td>  
</tr>  
 
<?php  
$query="select * from marque order by marqnom";  
$result=$_SESSION["garagephauto"]->request ($query) or die ("  
</table>  
<br/>  
<b><u>Erreur dans la requete :<u><br/>  
    $query<br/>  
    Mysql:".mysql_error()." </b>  
</div>  
</body>  
</html>" );  
 
 
foreach ($result as $ligne)  
{  
list ($marqcode, $marqnom, $image) = $ligne;  
print ("  
<tr>  
<td align=\"center\" style=\"background-color: #F5F5F5\">  
" );  
 
if (file_exists ("images/".$image))  
{  
print ("  
<img src=\"images/$image\" width=\"90\" height=\"90\" alt=\"$marqnom\"/>  
" );  
}  
else  
{  
print ("  
   
" );  
}  
print ("  
</td>  
<td align=\"center\">  
<a href=\"liste.php?marqcode=$marqcode&".session_name()."=".session_id()."\" target=\"fradroite\" style=\"font-size: 15pt\" >  
$marqnom  
</a>  
</td>  
 
</tr>  
" );  
 
}  
mysql_close ();  
?>  
</table>  
</div>  
</body>  
</html>  
 
Si vous vous y retrouvez car moi je patoge.  
Merci d'avance
 

n°17107
Zebra3
Very nice !
Profil : Super Administrateur
Posté le 10-07-2006 à 12:14:13  profilanswer
 

hello,
 
le message d'erreur

Citation :

Warning: session_register(): Cannot send session cookie - headers already sent by (output started at /home/garageph/www/choixmarq.php:8) in /home/garageph/www/choixmarq.php on line 42


indique que tu as déjà envoyé à ton client du contenu (un seul espace suffit) et donc il est impossible d'envoyer des headers pour le cookie de session. Assures toi d'initialiser la session avant de renvoyer le moindre caractère au client, le mieux pour cela est mettre un appel à session_start() au tout début de ton code car sans cet appel la session est initialisée uniquement quand tu fais "$_SESSION["garagephauto"]=new table ($user, $host,$passwd,$db) ;"
 
"session_register ("garagephauto" );" ne sert à rien ici car tu as déjà enregistré ta variable dans la session en utilisant le tableau "super-global" $_SESSION
 
De plus tu ne devrais pas mettre en session un objet de connexion bdd car la ressource de connexion bdd qu'il doit immanquablement contenir ne peut être sérialisée et franchement... cela ne rime à rien de mettre ce type d'objet en session :/
 
Pour plus d'infos sur le sessions : http://fr.php.net/manual/fr/ref.session.php


Message édité par Zebra3 le 10-07-2006 à 12:14:46

Aller à :
Ajouter une réponse