Connexion Auto avec COOKIE
papyclic
Messages postés
446
Date d'inscription
Statut
Membre
Dernière intervention
-
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
papyclic Messages postés 446 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Je souhaiterai mettre en place une connexion automatique, comme ça lorsqu'un utilisateur va pour la première fois sur le site et qu'il coche la case se souvenir de moi lorsqu'il quitte son navigateur il sera de nouveau connecter, inutile qu'il renseigne encore le login et mot de passe.
J'ai commencé à faire quelque chose qui ne fonctionne pas bien sur.
Si par contre la création du COOKIE est créé mais c'est la reconnexion automatique qui ne se fait pas dans ma page index.php
connexion.php
page index.php
Pouvez-vous essayer de m'aider s'il vous plait.
Je vous remercie
Je souhaiterai mettre en place une connexion automatique, comme ça lorsqu'un utilisateur va pour la première fois sur le site et qu'il coche la case se souvenir de moi lorsqu'il quitte son navigateur il sera de nouveau connecter, inutile qu'il renseigne encore le login et mot de passe.
J'ai commencé à faire quelque chose qui ne fonctionne pas bien sur.
Si par contre la création du COOKIE est créé mais c'est la reconnexion automatique qui ne se fait pas dans ma page index.php
connexion.php
if(isset($_POST['pseudo']) && isset($_POST['password'])) { $pseudo = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : ''; $password = isset($_POST['password']) ? Security::clean($_POST['password']) : ''; $actif = isset($_POST['actif']) ? $_POST['actif'] : ''; $connexion = new Connexion_class($pseudo, $password, $actif); $verif = $connexion->VerifConnexion(); if($verif == 'success') { if(isset($_POST['remember'])) { $LoginPassword = Security::crypt($pseudo) . '_' . Security::crypt($password); setcookie('moncookie', $LoginPassword, time() + 3600 * 24 * 365, null, null, false, true); } header('Location: index.php?body=compte_profil&type=compte'); } else { $erreur[] = $verif; } }
page index.php
if(isset($_COOKIE['moncookie'])) { $LoginPassword = explode("_",$_COOKIE['moncookie']); $pseudo = isset($_POST['pseudo']) ? Security::clean($_POST['pseudo']) : ''; $password = isset($_POST['password']) ? Security::clean($_POST['password']) : ''; $actif = isset($_POST['actif']) ? $_POST['actif'] : ''; if(is_array($LoginPassword)) { $connexion = new Connexion_class($pseudo, $password, $actif); $verif = $connexion->VerifConnexion(); if($verif == 'success') { $pseudo = Security::decrypt($LoginPassword[0]); $password = Security::decrypt($LoginPassword[1]); header('Location: index.php?body=compte_profil&type=compte'); } } }
Pouvez-vous essayer de m'aider s'il vous plait.
Je vous remercie
A voir également:
- Connexion Auto avec COOKIE
- Gmail connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- Supprimer cookie - Guide
3 réponses
'lut, ce que tu fais est un joli bazar...
Comment stockes-tu tes infos de session autre que le login/mdp?
Dans les cookies? Si c'est le cas, je me ramène sur ton site et chourre ton compte admin en moins de 20 secondes.
Non, ce qu'il faut faire, c'est utiliser http://php.net/manual/fr/function.session-start.php
Les sessions PHP utilisent un unique cookie nommé
Ce cookie a par défaut une durée éphémère (jusqu'à la fermeture du navigateur), car la propriété
En changeant ce paramètre dans le php.ini ou en utilisant la fonction session_set_cookie_params($lifetime) avec $lifetime la durée de vie du cookie en secondes après chaque session_start(), on peut faire en sorte que la session soit retenue.
Comment stockes-tu tes infos de session autre que le login/mdp?
Dans les cookies? Si c'est le cas, je me ramène sur ton site et chourre ton compte admin en moins de 20 secondes.
Non, ce qu'il faut faire, c'est utiliser http://php.net/manual/fr/function.session-start.php
session_start()en début de chaque page PHP, et
$_SESSIONpour le stockage des infos.
Les sessions PHP utilisent un unique cookie nommé
PHPSESSIDpar défaut, qui est un identifiant unique de session dont les infos sont stockées sur le serveur.
Ce cookie a par défaut une durée éphémère (jusqu'à la fermeture du navigateur), car la propriété
session.cookie_lifetimeest à 0 par défaut.
En changeant ce paramètre dans le php.ini ou en utilisant la fonction session_set_cookie_params($lifetime) avec $lifetime la durée de vie du cookie en secondes après chaque session_start(), on peut faire en sorte que la session soit retenue.
Bonjour
Oui excuse moi j'ain oublié de dire que effectivement j'ai session_star()
ensuite j'ai une methode sur les SESSIONS
Merci
Oui excuse moi j'ain oublié de dire que effectivement j'ai session_star()
ensuite j'ai une methode sur les SESSIONS
private function Session() { $sql = "SELECT * FROM tb_gestion_admin INNER JOIN tb_adherent ON tb_adherent.id_adherent = tb_gestion_admin.rid_adherent WHERE pseudo = :pseudo"; $requete = $this->bdd->prepare($sql); $requete->execute(array('pseudo' => $this->pseudo)); $result = $requete->fetch(); $_SESSION['id_adherent'] = $result['id_adherent']; $_SESSION['prenom'] = $result['prenom']; $_SESSION['pseudo'] = $this->pseudo;
Merci
Oui au niveau connexion je pense avoir fait comme il faut.
Je voudrais savoir pourquoi ma page index.php j'ai uniquement poster le script qui doit servir à la reconnexion automatique, car le reste de ma page est sans intéret pour ça en fait.
Je ne voudrais pas changer de paramètre du php.ini je voudrais plutôt utiliser cette méthode.
Merci si tu as des exemple j'ai essayé ton lien il ne fonctionne pas.
Merci d'une éventulle.
Je voudrais savoir pourquoi ma page index.php j'ai uniquement poster le script qui doit servir à la reconnexion automatique, car le reste de ma page est sans intéret pour ça en fait.
Je ne voudrais pas changer de paramètre du php.ini je voudrais plutôt utiliser cette méthode.
Merci si tu as des exemple j'ai essayé ton lien il ne fonctionne pas.
Merci d'une éventulle.