Connexion Auto avec COOKIE PHP
papyclic
Messages postés
451
Statut
Membre
-
papyclic Messages postés 451 Statut Membre -
papyclic Messages postés 451 Statut Membre -
Bonjour,
J'ai souhaité refaire un autre post beaucoup mieux explicatif concernant mon problème.
Je souhaite créer une re-connexion automatique avec COOKIE afin que le membre soit redirigé automatiquement sur son compte si il a coché la case se souvenir de moi lors de ça première connexion.
Mon fichier connexion.phpfait appel à une class et une méthode pour que le membre soit connecté, avec une fonction SESSION également et aussi une fonction qui crypte le pseudo et le password.
Si toutes les conditions sont bonnes et qu'il a coché la case, le COOKIE est créé.
L'utilisateur est reconnu en tant que membre jusqu'à là il n'y a pas de problème.
connexion.php
Ensuite je souhaiterai que le COOKIE créé authentifie le membre afin qu'il soit redirigé directement sur son compte.
j'ai créé une page init.php qui est appelé par toutes les pages et sur la page index.php il y a la fameuse fonction session_strart();
Au niveau des includes tout est fait normalement.
Dans ce fichier je fait appel à une fonction qui décrypte le pseudo et le password.
Une dernière info le COOKIE est bien créé et reste créé tant que je ne me déconnecte pas, et à l'ouverture à nouveau du site je ne suis pas reconnu en tant que membre je suis obligé de me reconnecter malgrès la présence du COOKIE.
Mon problème viendrait uniquement de cette page, si vous pouvez me donner votre aide s'ils vous plait, il y a vraiment beaucoup de jour que je suis dessus.
Merci encore
init.php
J'ai souhaité refaire un autre post beaucoup mieux explicatif concernant mon problème.
Je souhaite créer une re-connexion automatique avec COOKIE afin que le membre soit redirigé automatiquement sur son compte si il a coché la case se souvenir de moi lors de ça première connexion.
Mon fichier connexion.phpfait appel à une class et une méthode pour que le membre soit connecté, avec une fonction SESSION également et aussi une fonction qui crypte le pseudo et le password.
Si toutes les conditions sont bonnes et qu'il a coché la case, le COOKIE est créé.
L'utilisateur est reconnu en tant que membre jusqu'à là il n'y a pas de problème.
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;
}
}
if (isset($erreur)) {
echo output_errors($erreur);
}
Ensuite je souhaiterai que le COOKIE créé authentifie le membre afin qu'il soit redirigé directement sur son compte.
j'ai créé une page init.php qui est appelé par toutes les pages et sur la page index.php il y a la fameuse fonction session_strart();
Au niveau des includes tout est fait normalement.
Dans ce fichier je fait appel à une fonction qui décrypte le pseudo et le password.
Une dernière info le COOKIE est bien créé et reste créé tant que je ne me déconnecte pas, et à l'ouverture à nouveau du site je ne suis pas reconnu en tant que membre je suis obligé de me reconnecter malgrès la présence du COOKIE.
Mon problème viendrait uniquement de cette page, si vous pouvez me donner votre aide s'ils vous plait, il y a vraiment beaucoup de jour que je suis dessus.
Merci encore
init.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)) {
$pseudo = Security::decrypt($LoginPassword[0]);
$password = Security::decrypt($LoginPassword[1]);
$connexion = new Connexion_class($pseudo, $password, $actif);
$verif = $connexion->VerifConnexion();
if($verif == 'success') {
header('Location: index.php?body=compte_profil&type=compte');
}
}
}
A voir également:
- Connexion Auto avec COOKIE PHP
- Gmail connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- Ciel auto entrepreneur - Télécharger - Comptabilité & Facturation
12 réponses
'lut, dans init.php tu sembles vérifier la présence de paramètres
Autrement, j'ai eu un peu de mal à saisir ton problème, mais j'ai compris. Est-ce qu'au moins le code que tu as écrit pour l'autologin est exécuté? Teste avec des
Car ton code semble correct et fonctionnel pourtant...
$_POSTalors qu'il n'y a pas besoin: le cookie sera présent généralement quand on ne passe pas par le formulaire de connexion, d'autant plus qu'après tu les "effaces" (par un nouveau scope de variables) avec les valeurs du cookie.
Autrement, j'ai eu un peu de mal à saisir ton problème, mais j'ai compris. Est-ce qu'au moins le code que tu as écrit pour l'autologin est exécuté? Teste avec des
echode debug par exemple.
Car ton code semble correct et fonctionnel pourtant...
Bonjour
Merci pour ta réponse, je vais essayé quelque chose car je crois que tu m'a mis la puce à l'oreille, je vais tester ça ce soir.
Merci je te tiens au courant.
Merci pour ta réponse, je vais essayé quelque chose car je crois que tu m'a mis la puce à l'oreille, je vais tester ça ce soir.
Merci je te tiens au courant.
bonjour,
je reviens vers toi désespérément.
Je n'arrive pas à résoudre mon problème de COOKIE pour la reconnexion automatique.
Avec une petite modif de ce fichier je suis redirigé vers la page compte_profil du moins l'URL mais la page me spécifie "La page n'est pas redirigée correctement".
Pourrai tu s'il te plait m'aider un peu si tu as le temps, dis moi si tu aurai besoin de mon fichier de class.
Je te remercie
page init.php
la page connexion.php est plus haute rien n'est changé, je pense vraiment que cela viens de la page init.php
je reviens vers toi désespérément.
Je n'arrive pas à résoudre mon problème de COOKIE pour la reconnexion automatique.
Avec une petite modif de ce fichier je suis redirigé vers la page compte_profil du moins l'URL mais la page me spécifie "La page n'est pas redirigée correctement".
Pourrai tu s'il te plait m'aider un peu si tu as le temps, dis moi si tu aurai besoin de mon fichier de class.
Je te remercie
page init.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('cliquedecruet', $LoginPassword, time() + 3600 * 24 * 365, null, null, false, true);
}
header('Location: index.php?body=compte_profil&type=compte');
} else {
$erreur[] = $verif;
}
}
la page connexion.php est plus haute rien n'est changé, je pense vraiment que cela viens de la page init.php
Bonjour
C'est pas possible j'ai envoyé la mauvaise page en fait, veuillez m'excuser, je vous envoie mes 2 page
page connexion.php
Cette page de connexion fonctionne bien
page init.php
C'est cette page qui pose problème je pense.
Merci à vous
C'est pas possible j'ai envoyé la mauvaise page en fait, veuillez m'excuser, je vous envoie mes 2 page
page 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('cliquedecruet', $LoginPassword, time() + 3600 * 24 * 365, null, null, false, true);
}
header('Location: index.php?body=compte_profil&type=compte');
} else {
$erreur[] = $verif;
}
}
Cette page de connexion fonctionne bien
page init.php
if(!isset($_SESSION['id_adherent']) && isset($_COOKIE['cliquedecruet'])) {
$values = Security::clean($_COOKIE['cliquedecruet']);
$values = explode('_', $values);
if(count($values) == 2) {
$pseudo = Security::decrypt($values[0]);
$password = Security::decrypt($values[1]);
$actif = isset($_POST['actif']) ? $_POST['actif'] : '';
$LoginPassword = new Connexion_class($pseudo, $password, $actif);
if($LoginPassword->VerifConnexion()) {
header('Location: index.php?body=compte_profil&type=compte');
exit();
}
} else {
$erreur[] = 'Le Cookie est invalide';
}
}
C'est cette page qui pose problème je pense.
Merci à vous
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Je n'ai pas pu résoudre mon soucis avez-vous une idée, une infos à me donner. Comme je l'ai dit au niveau de ma connexion il n'y a pas de problème, mais lorsque je coche la case se souvenir de moi le COOKIE est bien créé et lorsque je ferme le navigateur et que je l'ouvre de nouveau le COOKIE est toujours présent.
Merci beaucoup de votre aide.
Je n'ai pas pu résoudre mon soucis avez-vous une idée, une infos à me donner. Comme je l'ai dit au niveau de ma connexion il n'y a pas de problème, mais lorsque je coche la case se souvenir de moi le COOKIE est bien créé et lorsque je ferme le navigateur et que je l'ouvre de nouveau le COOKIE est toujours présent.
Merci beaucoup de votre aide.
Bonjour
Mon soucis c'est que ma page est redirigé à l'adresse du compte c'est à dire ici
mais elle ne s'affiche pas cema me met
La page n'est pas redirigée correctement
Pourtant l'URL est la bonne adresse.
Merci
Mon soucis c'est que ma page est redirigé à l'adresse du compte c'est à dire ici
header('Location: index.php?body=compte_profil&type=compte');
mais elle ne s'affiche pas cema me met
La page n'est pas redirigée correctement
Pourtant l'URL est la bonne adresse.
Merci
Bonjour
Je ne comprends pas sur ma page init.php la condition est bien si la SESSION n'existe pas et le COOKIE est bien présent.
Je ne comprends pas sur ma page init.php la condition est bien si la SESSION n'existe pas et le COOKIE est bien présent.
j'ai bien ouvert l'onglet réseau, excuse moi je ne vois pas ce que tu veux dire par:
Quelles en sont les en-têtes Header (visibles quand on clique dessus)?
il y a entete de la réponse
entete de la requete
Merci de ton aide
Quelles en sont les en-têtes Header (visibles quand on clique dessus)?
il y a entete de la réponse
entete de la requete
Merci de ton aide
entete de réponse il y a
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: Keep-Alive Content-Type: text/html; charset=utf-8 Date: Tue, 17 Feb 2015 11:25:08 GMT Expires: Thu, 19 Nov 1981 08:52:00 GMT Keep-Alive: timeout=5, max=100 Pragma: no-cache Server: Apache/2.2.17 (Win32) PHP/5.3.4 Transfer-Encoding: chunked X-Powered-By: PHP/5.3.4
je n'était pas sur la bonne page en fait
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection: Keep-Alive Content-Length: 6 Content-Type: text/html; charset=utf-8 Date: Tue, 17 Feb 2015 11:33:07 GMT Expires: Thu, 19 Nov 1981 08:52:00 GMT Keep-Alive: timeout=5, max=100 Location: index.php?body=compte_profil&type=compte Pragma: no-cache Server: Apache/2.2.17 (Win32) PHP/5.3.4 X-Powered-By: PHP/5.3.4
je viens de modifier mon fichier init.php et alors la page n'est pas redirigée par contre le COOKIE existe toujours.
Merci
if(!isset($_SESSION['id_adherent']) && isset($_COOKIE['cliquedecruet'])) {
$values = Security::clean($_COOKIE['cliquedecruet']);
$values = explode('_', $values);
if(count($values) == 2) {
$pseudo = Security::decrypt($values[0]);
$password = Security::decrypt($values[1]);
$actif = isset($_POST['actif']) ? $_POST['actif'] : '';
$LoginPassword = new Connexion_class($pseudo, $password, $actif);
$verif = $LoginPassword->VerifConnexion();
if($verif == 'success') {
header('Location: index.php?body=compte_profil&type=compte');
exit();
}
} else {
$erreur[] = 'Le Cookie est invalide';
}
}
Merci