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

  FORUM HardWare.fr
  Programmation
  PHP

  Session PHP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Session PHP

n°636299
Angrodd
Posté le 09-02-2004 à 18:36:29  profilanswer
 

Bonjour !
J'ai réalisé mon site, avec des tableaux.
Il me faut mainenant créer les sessions php, ce qui est facile.
Mais j'ai un pbl :
Imaginons que j'ai ma page index avec des liens dessus.
La personne va s'identifier.
Les liens seront pointés vers on script php, qui vérifiera si la personne est identifiée.
Si elle l'est, elle sera envoyée vers la bonne page, sinon ves une page blanche.
Mais dans ce cas il suffit de connaitre le nom de la bonne page pour y accéder,, même sans être identifié.
Comment remédier à ce probleme ?

mood
Publicité
Posté le 09-02-2004 à 18:36:29  profilanswer
 

n°636301
kfman
Credo quia absurdum
Posté le 09-02-2004 à 18:39:54  profilanswer
 

Très simple.
 
Admettons que si l'user est ok, tu mets une variable de session "login" à TRUE.
Exemple: $_SESSION['login']=TRUE;
 
 
Au début de châque page à "protéger" tu ajoutes:
 

Citation :


<?php
session_start();
if ($_SESSION['login']==FALSE && $_SERVER['REMOTE_ADDR']!="127.0.0.1" ) {
 header("HTTP/1.0 403 Forbidden" );
 exit;
}


 
Edit: pour le REMOTE_ADDR, c pas obligé mais c une commodité pour le développeur pour accéder directement à la page.


Message édité par kfman le 09-02-2004 à 18:42:10
n°636302
uriel
blood pt.2
Posté le 09-02-2004 à 18:40:08  profilanswer
 

Moi_Enzo a écrit :

Bonjour !
J'ai réalisé mon site, avec des tableaux.
Il me faut mainenant créer les sessions php, ce qui est facile.
Mais j'ai un pbl :
Imaginons que j'ai ma page index avec des liens dessus.
La personne va s'identifier.
Les liens seront pointés vers on script php, qui vérifiera si la personne est identifiée.
Si elle l'est, elle sera envoyée vers la bonne page, sinon ves une page blanche.
Mais dans ce cas il suffit de connaitre le nom de la bonne page pour y accéder,, même sans être identifié.
Comment remédier à ce probleme ?


 
tu as pas du comprendre les sessions  :sweat:  tu verifies à chaque fois la session du user sur les pages concernées [:spamafote]  
va voir là :
http://www.toutestfacile.com/phpin [...] =sessions0


---------------
IVG en france
n°636306
Angrodd
Posté le 09-02-2004 à 18:43:06  profilanswer
 

Ouai c'est bon merci, en fait si j'ai compri les sessions (promis juré) mais j'ai pas d'assez bonnes notions en php :/
Enfin là normalement y aura pas de pbl, je vais tester ;)

n°636313
Angrodd
Posté le 09-02-2004 à 18:48:10  profilanswer
 

Jpeu remplacer  

Citation :

<?php  
session_start();  
if ($_SESSION['login']==FALSE && $_SERVER['REMOTE_ADDR']!="127.0.0.1" ) {  
 header("HTTP/1.0 403 Forbidden" );  
 exit;  
}


Par  

Citation :

<?php  
session_start();  
if ( !session_is_registered("password" ) )  
header("HTTP/1.0 403 Forbidden" );


??
Merci d'avance

n°636318
kfman
Credo quia absurdum
Posté le 09-02-2004 à 18:52:39  profilanswer
 

Vaut mieux utiliser les $_SESSION c'est le nouveau "standard" PHP.


Message édité par kfman le 09-02-2004 à 18:52:57
n°636321
Angrodd
Posté le 09-02-2004 à 18:53:55  profilanswer
 

Ouai enfin bon si sa revient au même l'essentiel c'est que sa marche, donc je vais commencer comme je pensais, sinon je met ton code ;)

n°636322
Angrodd
Posté le 09-02-2004 à 18:55:11  profilanswer
 

Et autre chose : c'est normal que sa marche pas avec free ?

n°636324
kfman
Credo quia absurdum
Posté le 09-02-2004 à 18:55:40  profilanswer
 

Moi_Enzo a écrit :

Ouai enfin bon si sa revient au même l'essentiel c'est que sa marche, donc je vais commencer comme je pensais, sinon je met ton code ;)


 
Après ce genre de considération c du MyLife :D :D


Message édité par kfman le 09-02-2004 à 18:55:49
n°636325
kfman
Credo quia absurdum
Posté le 09-02-2004 à 18:56:04  profilanswer
 

Moi_Enzo a écrit :

Et autre chose : c'est normal que sa marche pas avec free ?


 
Quoi ça ?

mood
Publicité
Posté le 09-02-2004 à 18:56:04  profilanswer
 

n°636326
uriel
blood pt.2
Posté le 09-02-2004 à 18:56:17  profilanswer
 

mais lis le lien que je t'ai filé, y a 3 pages et tu vas comprendre (et non l'essentiel c'est pas que ca marche, il y a des standard c'est pas pour rien) :o


---------------
IVG en france
n°636327
Angrodd
Posté le 09-02-2004 à 18:56:50  profilanswer
 

kfman a écrit :


 
Quoi ça ?


Les sessions :/
J'ai envoyé sur 2 hbergeurs les meme pages, un pro et free.
Sa marche (enfin le début) avec le pro et pas avec free :/

n°636330
kfman
Credo quia absurdum
Posté le 09-02-2004 à 18:58:18  profilanswer
 

Pour Free chépo.

n°636345
Angrodd
Posté le 09-02-2004 à 19:08:26  profilanswer
 

Excusez moi, je suis trop con
En fait tou était bon, c'est juste que j'enregistrais mes pages en .html
Donc désolé de vous avoir dérangé :d

n°636353
kfman
Credo quia absurdum
Posté le 09-02-2004 à 19:11:40  profilanswer
 

Moi_Enzo a écrit :

Excusez moi, je suis trop con
En fait tou était bon, c'est juste que j'enregistrais mes pages en .html
Donc désolé de vous avoir dérangé :d


 
[:rofl] [:rofl]
 
Mais qui ne l'a pas faite en débutant PHP...


Message édité par kfman le 09-02-2004 à 19:13:20
n°660535
arnaudco83
Posté le 02-03-2004 à 00:01:47  profilanswer
 


kfman a écrit :

Très simple.
 
Admettons que si l'user est ok, tu mets une variable de session "login" à TRUE.
Exemple: $_SESSION['login']=TRUE;
 
 
Au début de châque page à "protéger" tu ajoutes:
 

Citation :


<?php
session_start();
if ($_SESSION['login']==FALSE && $_SERVER['REMOTE_ADDR']!="127.0.0.1" ) {
 header("HTTP/1.0 403 Forbidden" );
 exit;
}


 
Edit: pour le REMOTE_ADDR, c pas obligé mais c une commodité pour le développeur pour accéder directement à la page.


 
 
 
Salut, merci pour toutes ces informations mais moi j'ai un pti problème kan je fé ca . J'obtiens ce message d'erreur :  
 
Notice: Undefined index: login in c:\program files\easyphp1-7\www\intranet\acceuil.php on line 3
 
 Je comprend pas pourquoi :??: . Si qq1 pouvais m'aider ca me serai d'une grande utilité ! :D  


Message édité par arnaudco83 le 02-03-2004 à 00:06:55
n°660726
boulax
Inserer phrase hype en anglais
Posté le 02-03-2004 à 11:42:49  profilanswer
 

ca veut dire qu'il n'y a pas de $_SESSION['login'] (cf tu ne l'a pas crée ou faute de frappe etc...)


Message édité par boulax le 02-03-2004 à 11:43:19
n°660784
arnaudco83
Posté le 02-03-2004 à 12:19:09  profilanswer
 

boulax a écrit :

ca veut dire qu'il n'y a pas de $_SESSION['login'] (cf tu ne l'a pas crée ou faute de frappe etc...)


 
merci en fait je me suis rendu compte que c'était une erreur de configuration du fichier config.php (je n'autaurisait ni le passage de session par adresse ni par cookie   :sweat: ) merci

n°660890
boulax
Inserer phrase hype en anglais
Posté le 02-03-2004 à 13:49:54  profilanswer
 

ah oui ok, c'etait aussi une possibilite :o

n°661582
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 02-03-2004 à 23:16:22  profilanswer
 

Moi_Enzo a écrit :

Et autre chose : c'est normal que sa marche pas avec free ?

Sur free pour que les sessions fonctionnent, il te faut créé un repertoire sessions (exactement ecrit comme ceci) a la racine de ton ftp.
Dans php.ini, les boulets de free l'ont défini comme ça.
 
Bonne chance pour tes sessions moi je m'y attaque en ce moment et je capte pas grand chose lol mais bon je vais choper des tutos et ça va aller vite ;)
 
++

n°661584
uriel
blood pt.2
Posté le 02-03-2004 à 23:19:37  profilanswer
 

http://www.toutestfacile.com/phpin [...] =sessions0  
je reposte ce lien parce qu'il explique tout tres simplement :O


---------------
IVG en france
n°675819
bernouille
Posté le 17-03-2004 à 09:09:41  profilanswer
 

Bouhouhouhou ! J4ai le même pb qu'Arnaud, à savoir que mon$_SESSION['login'] fonctionne quand je suis en local (sur l'adresse 127.0.0.1) mais pasquand j'essaie de le mettre en distant, par exemple en tapant mon IP.  
Arnaudco83 : tu pourrais être un peu + précis quant aux modifs à apporter au fichier config.php, stp ?

n°675844
ratibus
Posté le 17-03-2004 à 09:29:17  profilanswer
 

Salut
Montre nous ton code qui affecte la variable de session pour voir si tu as rien oublié

n°675878
bernouille
Posté le 17-03-2004 à 09:57:24  profilanswer
 

Dans une première page, après quelques lignes de codes, je fais :  
 
@session_start();    
$_SESSION['login'] = $login;    
$_SESSION['time_fin'] = $data['time_fin'];
$_SESSION['controle'] = 1;
 
 
Là, je pense avoir enregistré ma variable.
 
Dans une autre page, je fais simplement :  
 
<?  
@session_start();
echo $_SESSION['controle'];
?>
 
Alors là, pas de problème si je suis en local, il m'affiche 1, par contre si j'accède au site en passant par mon adresse IP, a fortiori à partir d'un autre ordinateur, ça marche pas, j'ai le message d'erreur :  
 
otice: Undefined index: controle in c:\www\test.php on line 2
 
Jepense que c'est un pb de passagede variable, mais je ne m'y connais pas + que ça...
 

n°675901
JerryZz
Follow the white Rabbit
Posté le 17-03-2004 à 10:16:20  profilanswer
 

les sessions evitent justement de passer des variables dans l'url.
 
Essaye en fesant un lien de la page 1 vers la page 2, sans fermer ton navigateur...

n°675926
bernouille
Posté le 17-03-2004 à 10:35:09  profilanswer
 

C'est justement ce que je fais. Dans la première page, après avoir enregistré mes variables de session, je crée un lien hypertexte vers la deuxième page. C'est ce lien que j'utilise, donc le navigateur ne se ferme pas.
Et au risque d'enfoncer un peu le clou, ça fonctionne bien quand je travaille en local, mais pasen distant...

n°675950
JerryZz
Follow the white Rabbit
Posté le 17-03-2004 à 10:54:39  profilanswer
 

Il y a pas un 'truc' a changer dans le php.ini dans ce cas ?

n°675955
bernouille
Posté le 17-03-2004 à 11:02:00  profilanswer
 

Sisi, c'est justement le propos de ma question. QUOI changer dans le php.ini ou bien le config.php ???

n°675969
JerryZz
Follow the white Rabbit
Posté le 17-03-2004 à 11:19:44  profilanswer
 

c pas le register global qui doit etre on ? ( a tester )

n°675972
bernouille
Posté le 17-03-2004 à 11:21:20  profilanswer
 

A vrai dire, il est déjà à ON mais ça ne marche pas...

n°676522
j0k3r_n0ir
Bliiiiiiiiiiiiiiiiiip :)
Posté le 17-03-2004 à 20:17:23  profilanswer
 

POurquoi mettre le @ devant session_start ?


---------------
Licence Professionnelle Multimedia Internet Webmaster | Des articles, des aides, des scripts .... le tout disponible sur mon site.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Session PHP

 

Sujets relatifs
[PHP] Marrant ca : session_start() => Failed to init. storage module[PHP] détruire toutes les var d'une session sauf certaines...
[PHP-NEWB] Probleme de session avec hébergement lycos[PHP] stocker un mot de passe dans une variable de session (en clair)
[PHP] Les variables de session magiques...[PHP] session_register avec une variable "élaborée",syntaxe
[Python] Session comme en PHP[PHP] session_register(); => $_SESSION ? [résolu]
[PHP] Session, question sur le passage de l'ID par URL[PHP] probleme de session_start() sous windows
Plus de sujets relatifs à : Session PHP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR