|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
Sujet : reconnaissance quand je me connecte (cookies) [ Divers / Divers ] (joker76)
Informations & options pour cette discussion
|
dimanche 27 août 2006 à 18:23:15 |
reconnaissance quand je me connecte (cookies)

joker76
|
Bonjour, Je fais un espace membre, tout fonctionne, j'arrive à me connecter je change de page membre sans probleme. Le seul probleme est que si je ferme ma page et que retourne sur le site, je suis obligé de reécrire le mot de passe et le pseudo. Pourtant dans mon code il y a un cookie qui devrait se souvenir et me ramener tout de suite sur la page membres, si j'ai coché la case se souvenir. Je vois pas ce qui cloche. Voici le code de la page index:<?php //Démarrage de la session (à mettre avant tout code xhtml) session_start();
//Si la variable $_SESSION['logged'] n'existe pas on la créée. if (!isset($_SESSION['logged'])) $_SESSION['logged'] = false;
//Inclusion du fichier contenant les identifiants de connexion à la base de données. require("config.inc.php");
//Connexion à la base de données. mysql_connect($host, $username, $password); mysql_select_db($bdd_name);
error_reporting (E_ALL);
//Ici on mettera le code pour la connexion automatique. if ($_SESSION['logged'] === false) { if (isset($_COOKIE['pseudo'], $_COOKIE['mot_passe'])) { //Vérification du pseudo. $pseudo = htmlspecialchars($_COOKIE['pseudo']); $mot_passe = htmlspecialchars($_COOKIE['mot_passe']); //Requête comptant le nombre de pseudos $_POST['pseudo'] $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'"); //Si le pseudo existe. if (mysql_result($sql,0,'nb_pseudo') == 1) { //Vérification du mot de passe //Information sur le compte du membre. $sql_infos = mysql_query("SELECT id, mot_passe, confirmation FROM membres WHERE pseudo='".$pseudo."'"); $donnees = mysql_fetch_array($sql_infos); //Comparaison du mot de passe et vérification que le compte est confirmé. if ($mot_passe == $donnees['mot_passe'] && $donnees['confirmation'] == 1) { //Tout est bon, on connecte le membre. $_SESSION['logged'] = true; //Création de 2 variables de sessio, contenant des informations sur le membre. $_SESSION['id'] = $donnees['id']; //Id du membre. $_SESSION['pseudo'] = $pseudo; //Pseudo du membre. //Redirection vers la page membre. header('Location: membres.php'); exit(); } } } }
//Ici on gérera le formulaire de connexion.
//Si la variable $_POST['connexion'] (bouton submit du formulaire) et la variable $_SESSION['logged'] vaut false (déconnecté) existent. if (isset($_POST['connexion']) && $_SESSION['logged'] === false) { //Vérification des autres variables. if (isset($_POST['pseudo'],$_POST['mot_passe']) && !empty($_POST['pseudo']) && !empty($_POST['mot_passe'])) { //Vérification du pseudo. $pseudo = htmlspecialchars($_POST['pseudo']); $mot_passe = htmlspecialchars($_POST['mot_passe']); //Requête comptant le nombre de pseudos $_POST['pseudo'] $sql = mysql_query("SELECT COUNT(*) AS nb_pseudo FROM membres WHERE pseudo='".$pseudo."'"); //Si le pseudo existe. if (mysql_result($sql,0,'nb_pseudo') == 1) { //Vérification du mot de passe //Information sur le compte du membre. $sql_infos = mysql_query("SELECT id, mot_passe, confirmation FROM membres WHERE pseudo='".$pseudo."'"); $donnees = mysql_fetch_array($sql_infos); //Hashage du mot de passe. $mot_passe_hash = md5($mot_passe); //Comparaison du mot de passe. if ($mot_passe_hash == $donnees['mot_passe']) { //On vérifie que le compte est confirmé. //Si $donnees['confirmation'] vaut 1. if ($donnees['confirmation'] == 1) { if (isset($_POST['souvenir']) && $_POST['souvenir'] == 'on') { //Temps d'expiration des cookies (1 an). $expire = time() + 3600 * 24 * 365;
setcookie('pseudo', $pseudo, $expire); setcookie('mot_passe', $mot_passe_hash, $expire); }
//Tout est bon, on connecte le membre. $_SESSION['logged'] = true; //Création de 2 variables de session, contenant des informations sur le membre. $_SESSION['id'] = $donnees['id']; //Id du membre. $_SESSION['pseudo'] = $pseudo; //Pseudo du membre. //Redirection vers la page membre. header('Location: membres.php'); exit(); } else echo 'Erreur : le compte nest pas confirmé !'; } else echo 'Erreur : le mot de passe est incorrect !'; } else echo 'Erreur : le pseudo nexiste pas !'; } else echo 'Erreur : veuillez remplir tous les champs !'; } ?> <html> <head> ...... ........... et le code de la page membres:
<?php //Ne pas oublier de mettre le session_start() session_start();
//Inclusion du fichier contenant les identifiants de connexion à la base de données. require("config.inc.php");
//On vérifie que le membre est connecté. if (isset($_SESSION['logged']) && $_SESSION['logged'] === true) { ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>
<head> ....
Merci d'avance pour votre aide.
|
|
|
|
lundi 28 août 2006 à 03:47:08 |
Re : reconnaissance quand je me connecte (cookies)

eXon
|
Ah tu un message d'erruer? Si non, peut-être que c'est ton navigateur qui bloque le cookie. As-tu essayé avec un autre ordinateur ou en essayant de changer tes config?
---------------- eXon
|
|
|
|
lundi 28 août 2006 à 18:23:41 |
Re : reconnaissance quand je me connecte (cookies)

joker76
|
Aucun message d'erreur, mon navigateur accepte les cookies sans aucun probleme. Je pense que ca vient du script, j'ai du me planter quelque part, mais je vois pas où.
|
|
|
Cette discussion est classé dans : mot, passe, session, pseudo, membre
Répondre à ce message
Sujets en rapport avec ce message
Probleme de connection espace membre [ par mecapom ]
Bonjour a tous j'ai un petit probleme avec la connection de mon espace membre de mon site http://www.freeeuro.fr . Lorsque je me
Fonction update [ par biloutte33 ]
Bonjour,j'ai un espace membre et j'aimerais créer un fomulaire de changement de mot de passe pour mes membresjusqu'à présent, aucun soucis, le formula
connection membre [ par gorn deja pris ]
Voila j'ai un ptit soucis, je débute le php, et j'essai de faire une page où l'on peut se connecter, le truc c'est que j'ai déjà fais les inscriptions
formulaire qui ne marche pas !!! [ par nicomilville ]
Bonjour tout le monde j'ai un petit problème avec le bas de ce code, la partie admin ne se charge pas si je rentre le pseudo et le mot de passe dans l
vérifier si un pseudo et un mot de passe sont disponible [ par nicomilville ]
Salut, je voudrai faire une vérification avant d'envoyer le résultat d'un formulaire d'inscription a la base de donnée : je voudrai vérifier si le mot
Problème de lien $_SESSION et $_GET... [ par BooletMan ]
Je suis sur le point de m'arracher les cheveux, tout débutant que je suis en PHP, sur un problème qui s'avèrera surement idiot... mais voilà: je suis
aider moi (membre) [ par Sean_59 ]
slt bon voila jai ma page index.php fini jai mon tableau avec espace membres (pseudo)(mot de passe) comme une personne entre son pseudo et mot-passe e
verification, test, mot de passe, BDD [ par blinix123 ]
Mhmm, bonjour à tous, j'espere que vous comprendrer mon code qui parait long mais qui est simple en soi donc ne butter de peur :pJe creer un forum PHP
Connexion Mysql et requetes [ par mecapom ]
Bonjour a tous une petite car je suis encore debutant en php, voici mon script de ma page membre//Ne pas oublier de mettre le session_start()session_s
Problème identification d'un client [ par rasengan7 ]
Voilà mon problème est simple,j'ai dans ma page identification une boucle, mais je n'arrive jamais à afficher les pages de compte.Voici le code:<?incl
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
|