[PHP] Identification automatiques (via cookies ???)

Identification automatiques (via cookies ???) [PHP] - PHP - Programmation

Marsh Posté le 29-11-2004 à 17:53:02    

Salut,
 
Je débute en php/mysql et je suis confronté à un problème que je n'arrive pas trop à résoudre.
J'ai une table utilisateurs où chaque utilisateur se voit attribué un mot de passe, un login, et d'autres informations le concernant (adresse, téléphone...
Je veux simplement que quand un utilisateur se connecte à la page d'accueil du site (ils ont déjà tous un login et un mot de passe) :
- s'il ne s'est jamais connecté a partir de son poste, on lui demande de rentrer son login et son mot de passe.
Puis il peut se promener librement dans la partie où il a accès.
 
- s'il s'est déja connecté auparavant, qu'il accède directement a sa zone d'accès sans avoir à entrer son login... (connexion automatique à l'aide cookies je présume)
 
Bref, en gros, je cherche a faire un système d'identification comme c'est le cas sur ce forum,sachant que je n'ai pas de besoin de fonctionnalités évoluées : Je veux simplement que chaque personne puisse dans la table modifier certaines informations le concernant (téléphone, adresse...).
Je me doute bien qu'il faille utiliser les sessions et les cookies, mais j'ai du mal à agencer tout ca.
Je m'en sort à peu près avec les sessions pour les promenades d'une page à une autre.
Mais je cherche une âme chaleureuse m'expliquant qu'est ce que je stocke et ou, afin de pouvoir gérer cette "connexion automatique", lorsque l'utilisateur est déjà venu. :cry:  
 
Merci de vos aides


Message édité par lauspeed le 29-11-2004 à 21:13:59
Reply

Marsh Posté le 29-11-2004 à 17:53:02   

Reply

Marsh Posté le 29-11-2004 à 17:55:33    

Une petite lecture de ça devrait te mettre sur la voie :
http://fr.php.net/manual/fr/features.cookies.php


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 29-11-2004 à 18:25:31    

merci
je l'avais déjà lu, mais ca reste asez général (trop). Est ce que je dois stocker le login et le mot de passe sous cette forme ?
setcookies(login,$utilisateurs['login']);
setcookies(password,$utilisateurs['password']);
Et comment je fais pour les réutiliser apres comme login et password a partir du tableau $_COOKIE ??

Reply

Marsh Posté le 29-11-2004 à 18:27:09    

Comment je modifie mon code de connexion pour qu'il teste l'existence des cookies plutot ?
// 1 Récupération des login et password
// Je vérifie en amont que les cookies existent avec un if ... then
// else je balance le formulaire de connexion
// ainsi en gros on aura (suivant la saisie) une affectation des  
// trois variables suivantes :
// $mysqlserver = 'localhost';
// $mysqlloggin = 'login';
// $mysqlpassword = 'password';
 
 
// 2 Connexion au serveur SQL
 
if( mysql_connect( $mysqlserver , $mysqlloggin , $mysqlpassword ) > 0 )
    echo 'Connexion réussie !'.'<br>' ;
else
    echo 'Connexion impossible !'.'<br>' ;
 
C'est bien ca le principe ?


Message édité par lauspeed le 29-11-2004 à 18:33:50
Reply

Marsh Posté le 29-11-2004 à 19:01:41    

Ne place pas de login et mot de pass dans le cookie. Utilise une session pour cela.
 

Code :
  1. if(mysql_connect($mysqlserver, $mysqlloggin, $mysqlpassword)==true)
  2.     echo 'Connexion réussie !'.'<br>' ;
  3. else
  4.     echo 'Connexion impossible !'.'<br>


Message édité par Berceker United le 29-11-2004 à 19:04:29
Reply

Marsh Posté le 29-11-2004 à 19:07:41    

Ah zut, j'ai fait ca :
<?php
// Demande un login et un mot de passe et stocke les données dans deux variables PHP.
// Copie ces deux variables dans deux cookies  
function  sidentifier() {
 Header( "WWW-authenticate:  basic  realm='Test  Authentication  System'" );
 Header( "HTTP/1.0  401  Unauthorized" );
 echo  "Vous devez entrer un nom d'utilisateur valide et un mot de passe"
   ."correct pour accéder à cette ressource\n";
 setcookie("login",$PHP_AUTH_USER);
 setcookie("password",$PHP_AUTH_PW);
 exit;
}
 
// Teste l'existence des cookies d'identification
if (!isset($HTTP_COOKIE_VARS["login"]) || !isset($HTTP_COOKIE_VARS["password"]) )  
 
// Si ils n'existent pas, on s'identifie
 {sidentifier;}
 
// Sinon, on met à jour les variables PHP contenant ces informations
  else
 {
 $PHP_AUTH_USER=$HTTP_COOKIE_VARS["login"];
 $PHP_AUTH_PW=$HTTP_COOKIE_VARS["password"];
 }
?>
c'est pas bien ?
Je cherche à régler le problème de connexion automatique pour le moment.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed