Page 1 sur 1

Et encore un qui a des problème avec les sessions !...

Posté : 19 août 2006, 15:57
par DBU
Bonjour,

je viens de faire une recherche sur le forum mais je ne trouve pas la solution ...
J'ai un problème pour ouvrir les sessions et conserver les paramètre d'un page à l'autre.
J'ai easyphp 1.8.0.1 sur mon pc, la configuration est par defaut...

ci dessous le code du bete ouverture de session et le message d'erreur :
<body>
<?php
// initialisation
//PHPSESSID
session_start();
$_SESSION['langage'] = 'TTTT 5'; 
echo $_SESSION['langage'];

?>
</body>
</html>
le message d'erreur :

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at c:\program files\easyphp1-8\www\ged\test.php:9) in c:\program files\easyphp1-8\www\ged\test.php on line 12

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\easyphp1-8\www\ged\test.php:9) in c:\program files\easyphp1-8\www\ged\test.php on line 12
TTTT 5


------------------------------------------
Merci pour votre aide, BRuno

Posté : 19 août 2006, 15:58
par sideb
le probleme vient des cookie verifie que ton navigateur les accepte

Posté : 19 août 2006, 16:11
par HanX
tu affiches un body avant de commencer ta session...

session_start() doit toujours etre mis avant le premier echo (ou affichage html)

Merci à tous mais le problème change...

Posté : 19 août 2006, 16:45
par DBU
Effectivement en mettant le 'session_start' en 1ere ligne dans le fichier.
La fonction passe...

Par contre je voudrais recuperer le resultat stocker dans la session sur une autre page. j'ai teste avec 2 methode pour change de page.

la 1er :
<?php
header("Location: test2.php"); 
?>
message erreur suivant :

Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\ged\test.php:13) in c:\program files\easyphp1-8\www\ged\test.php on line 28



la second avec un delai :
<?php
echo "<SCRIPT LANGUAGE='JavaScript'>\n
         function redirect() {\n
                   window.location='test2.php'\n
                              }\n
          setTimeout('redirect()',100); // delai en millisecondes\n
          </SCRIPT>\n";
?>
message erreur suivant :

Notice: Undefined variable: _SESSION in c:\program files\easyphp1-8\www\ged\test2.php on line 10

mais sur l'autre page lorsque j'appelle pas variable voici le message que je recois.



avec le code suivant :
<?php
 echo $_SESSION['langage'];
?>
je pensais que les sessions était des variables globales.

Merci d'avance
Bruno

Posté : 19 août 2006, 17:08
par Ouaibou
Salut,
Warning: Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-8\www\ged\test.php:13) in c:\program files\easyphp1-8\www\ged\test.php on line 28
Ce message d'erreur est du au fait que tu appelle une fonction un peu spéciale après avoir envoyé des donné au naviguateur. Comme pour le session_start(), header() doit être appelé avant tout envoi au navigateur.
Notice: Undefined variable: _SESSION in c:\program files\easyphp1-8\www\ged\test2.php on line 10
Pour cette erreur je penses que tu as peut être mal écrit la variable : $_SESSION['langage'];, vérifie si tu as pas oublié le '$' par hasard.

Si c'est pas le cas, serait-il possible d'avoir un copié/collé de ta page test2.php ?

@+

Posté : 19 août 2006, 17:17
par iclo
Un poste de la FAQ sur le sujet : http://www.phpfrance.com/forums/voir_sujet-47.php
ps: toujours jeter un coup d'oeil à la Faq avant de poster... :wink: :wink:

Merci à vous tous pour vos reponses.

Posté : 19 août 2006, 17:42
par DBU
Et bien merci à vous pour vos réponses...

en ce qui concerne les faq c'est vrai que je n'avais pas consulté car j'ai fais une recherche globale sur tout le forum...
:lol: :D :D :D

Encore merci

Posté : 20 août 2006, 17:54
par Truc
Et le [Résolu] alors ?!