Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6425 connectés 

 


Dernière réponse
Sujet : [php] probleme de session
haazheel Grrr...
 
pour chaque page, j'ai un fichier index.php qui inclut le header, le corps de page, et le footer.
 
Pour chaque page de membre, j'ai mis au début de celles ci le code suivant:
 
session_start();
if(!session_is_registered('pseudo_membre'))
    {
    echo 'Vous n\'êtes pas autoriser a acceder a cette zone';
echo "<script language=\"JavaScript\">document.location.replace(\"index.php\" ); </script>";
    exit;
    }

 
Pour vérifier qu'une session est bien ouverte.
 
Mais j'ai le message d'erreur suivant:
 
Warning: Cannot send session cache limiter - headers already sent (output started at header.inc.php:6) in membres/propose_news.php on line 2
 
Si je mets session_autostart sur 1, c'est bon, plus de problèmes. Mais sur Free, cette valeur est à 0, donc je dois m'aligner, et trouver une solution qui m'échappe pour le moment.
 
alors, je dis HELP!!  :lol:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
haazheel Grrr...
 
pour chaque page, j'ai un fichier index.php qui inclut le header, le corps de page, et le footer.
 
Pour chaque page de membre, j'ai mis au début de celles ci le code suivant:
 
session_start();
if(!session_is_registered('pseudo_membre'))
    {
    echo 'Vous n\'êtes pas autoriser a acceder a cette zone';
echo "<script language=\"JavaScript\">document.location.replace(\"index.php\" ); </script>";
    exit;
    }

 
Pour vérifier qu'une session est bien ouverte.
 
Mais j'ai le message d'erreur suivant:
 
Warning: Cannot send session cache limiter - headers already sent (output started at header.inc.php:6) in membres/propose_news.php on line 2
 
Si je mets session_autostart sur 1, c'est bon, plus de problèmes. Mais sur Free, cette valeur est à 0, donc je dois m'aligner, et trouver une solution qui m'échappe pour le moment.
 
alors, je dis HELP!!  :lol:
Sh@rdar en tout cas non y a pas besoin de le mettre en tête de script comme un header ou un setcookie..
 
je vérifie quand même quelques trucs...

 

[jfdsdjhfuetppo]--Message édité par Sh@rdar--[/jfdsdjhfuetppo]

haazheel

Sh@rdar a écrit a écrit :

je crois qu'il manque un $ dans ton session_register...  




 
non non, c'est bien ça...
 
session_register et session_is_registered ne prennent pas le $

Sh@rdar je crois qu'il manque un $ dans ton session_register...
haazheel Nouveaux problèmes!!
 
1)Est ce qu'un session_start doit être défini avant un echo? (comme avec les cookies par exemple?)
 
2)J'ai ce code, et je n'arrive pas à récupérer $HTTP_SESSION_VAR[pseudo_membre] après...
 

Citation :

if($cookie_pseudo!="" )
{
$pseudo_membre = $cookie_pseudo;
}
elseif($login_pseudo_membre!="" )
{
$pseudo_membre = $login_pseudo_membre;
}
session_start();
session_register('pseudo_membre');
 
echo $HTTP_SESSION_VAR[pseudo_membre];

haazheel c'est bon, ça marche...
 
En fait, avec EasyPHP, ya des fichiers à copier dans le rep windows et windows\system... dont le php.ini, que j'ai modifé, et rulez!! :D  
 
merci à vous tous :jap:
Sh@rdar sous windows un path : c:\patati\patata
sous linux : /root/file/prout
 
y a une légère erreur sur ton path...
Alex01 Mon paamètre dans le php.ini
 
session.save_path =  C:\PHP\sessiondata
 
met le ! :eek2:
haazheel

Alex01 a écrit a écrit :

edite ton fichier php.ini qui se touve dans ton répertoire windows.
tu dois y trouver une ligne :
session.save_path =  C:\PHP\sessiondata
 
c'est le repertoire dans lequel PHP stoke tes sessions donc tes variables.
Si tu n'as pas ces paramètres, met les miens et crais un repertoire c:\PHP\sessiondata et essaye à nouveau  :wahoo:  
 
Alex01 :bounce:  




 
Je vais voir ça...
 
Sinon, ils sont où les tiens? :)

Alex01 edite ton fichier php.ini qui se touve dans ton répertoire windows.
tu dois y trouver une ligne :
session.save_path =  C:\PHP\sessiondata
 
c'est le repertoire dans lequel PHP stoke tes sessions donc tes variables.
Si tu n'as pas ces paramètres, met les miens et crais un repertoire c:\PHP\sessiondata et essaye à nouveau  :wahoo:  
 
Alex01 :bounce:
haazheel

Alex01 a écrit a écrit :

Il doit être dans le repertoire PHP si tu as installé PHP sous ce nom de repertoire.
 
Sous Windows c'est plustôt "sessiondata"
 
Alex01 :sol:  




 
Pour être sûr, j'ai créé un /tmp dans tous les repertoires de easyphp: apache, php, localhost...
 
Marche pas
 
C'est koi session data?

Alex01 Il doit être dans le repertoire PHP si tu as installé PHP sous ce nom de repertoire.
 
Sous Windows c'est plustôt "sessiondata"
 
Alex01 :sol:
haazheel oui, mais il doit être dans quel répertoire?
 
Ce serait pas XP qui poserait problème?
Alex01 est ce que ton rep /tmp existe sur ton serveur ?
 
Alex01 :hello:
haazheel

potiron a écrit a écrit :

alors ca c'est tout con : $login ou mieux : $HTTP_SESSION_VARS[login]
....... tu sais qu'il existe une DOC PHP ?
car la en cherchant a peine 10sec tu aurais eu ta reponse  :sarcastic:
 
http://www.php.net/manual/fr/ref.session.php
 
il a pas trouvé le fichier contenant la session -> a regler dans le php.ini ! (cf DOC pour les parametres)  




 
Et pourtant, je peux t'assurer que j'y passe ma vie dans la doc, très bien faire d'ailleurs, en PDF... Vive Nexen!!
 
Sinon, pour le php.ini, j'ai regardé les options, et je ne vois pas ce qui y est mal configuré...
 
J'ai ça:
 
[Session]
session.save_handler      = files    
session.save_path         =/tmp
session.use_cookies       = 1
session.name              = PHPSESSID
session.auto_start        = 0
session.cookie_lifetime   = 0
session.cookie_path       = /
session.cookie_domain     =  
session.serialize_handler = php
session.gc_probability    = 1
session.gc_maxlifetime    = 1440
session.referer_check     =  
session.entropy_length    = 0
session.entropy_file      =
session.entropy_length    = 16
session.entropy_file      = /dev/urandom
session.cache_limiter     = nocache
session.cache_expire      = 180
session.use_trans_sid     = 1
url_rewriter.tags         = "a=href,area=href,frame=src,input=src,form=fakeentry"
 
[edit]
J'ai aussi:
 register_globals = On
[/edit]

 

[jfdsdjhfuetppo]--Message édité par haazheel--[/jfdsdjhfuetppo]

potiron alors ca c'est tout con : $login ou mieux : $HTTP_SESSION_VARS[login]
....... tu sais qu'il existe une DOC PHP ?
car la en cherchant a peine 10sec tu aurais eu ta reponse  :sarcastic:
 
http://www.php.net/manual/fr/ref.session.php
 
il a pas trouvé le fichier contenant la session -> a regler dans le php.ini ! (cf DOC pour les parametres)
haazheel salut,  
je me demandais comment récupérer la valeur de login dans la fonction suivante:
 
is_session_register(login)
 
??
 
Et aussi: utiliser les sessions me donne ce message d'erreur (WinXP+EasyPHP 1.2 je crois)
 
Warning: open(/tmp\sess_372b1b9e301e1078209626f1daef3fcd, O_RDWR) failed: m (2) in c:/easyphp/www/basket/test.php on line 2
 
Je pense que c'est dans la config que ça doit se trouver, mais où?
 
Merci

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)