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

DBU
Eléphanteau du PHP | 42 Messages

19 août 2006, 15:57

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

Eléphanteau du PHP | 43 Messages

19 août 2006, 15:58

le probleme vient des cookie verifie que ton navigateur les accepte

Eléphant du PHP | 197 Messages

19 août 2006, 16:11

tu affiches un body avant de commencer ta session...

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

DBU
Eléphanteau du PHP | 42 Messages

19 août 2006, 16:45

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

Eléphant du PHP | 281 Messages

19 août 2006, 17:08

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 ?

@+

ViPHP
ViPHP | 2144 Messages

19 août 2006, 17:17

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:

DBU
Eléphanteau du PHP | 42 Messages

19 août 2006, 17:42

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

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

20 août 2006, 17:54

Et le [Résolu] alors ?!

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute