Identification automatiques (via cookies ???) [PHP] - PHP - Programmation
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
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 ??
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 ?
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 :
|
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.
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.
Merci de vos aides
Message édité par lauspeed le 29-11-2004 à 21:13:59