IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Modifier le mot de passe d'un membre dans une sessions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut Modifier le mot de passe d'un membre dans une sessions
    Bonjour
    voila mon petit probleme je voudrai faire dans ma partie membre un petit script ou on peu changer de mot de passe
    bon j'arrive a verifier si le mot de passe est identique ou pas mais le probleme survient quand je veut le mettre dans la bdd
    jai fait ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
     
    <?php
      if (isset($_POST['envoyer']))
      {
        /* Récupération des valeurs des champs du formulaire */
        if (get_magic_quotes_gpc())
        {
          $pass1	= stripslashes(trim($_POST['pass1']));
          $pass2	= stripslashes(trim($_POST['pass2']));
        }
        else
        {
          $pass1	= trim($_POST['pass1']);
          $pass2	= trim($_POST['pass2']);
        }
        if (empty($pass1) || empty($pass2))
        {
          $alert = 'Tous les champs doivent être renseignés';
        }
        elseif($pass1 != $pass2)
        { 
          $alert = 'les mots de passe sont differents'; 
        }
        elseif($pass1 == $pass2)
        {
          echo 'Le nouveau mot de passe '.$pass1.' à bien été pris en compte';
        $mdp_u = sha1($pass1);
     
    // lancement de la requête d'insertion 
    	$mdpu_sql = mysql_query('SELECT * FROM utilisateurs WHERE pseudo='.$login)or die(mysql_error());
    	$pseudo_valide = mysql_num_rows($mdpu_sql);
    	if ($pseudo_valide == 0)
    	{
    		echo 'Une erreur est survenue, pour revenir au site, <a href="index" title="Retour au site">cliquez ici</a>';
    	}
    	else
    	{
     
    		$mdpu = mysql_fetch_array($mdpu_sql);
                       mysql_query('UPDATE utilisateurs
    	           SET mdp_sha1 = $mdp_u
    	           WHERE pseudo ='.$login)or die(mysql_error());
                       echo 'Le mot de passe a bien été modifier';
    	}
        }
    }
    ?>
    mais sa ne fonctionne pas quelqu'un peu me donner un coup de main svp merci

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Je te déconseilles vivemnt de faire ta mise a jour sur le mot de passe
    tout ton début est parfait, mais aprés, tu dois
    1) lire le data tu visiteur (par son nom (pseudo)
    2) le mettre a jour avec le nouveau mot de passe !

  3. #3
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    c'est sa le probleme je c'est pas comment faire sa.
    c'est la premiere fois que je travaille sur des sessions

  4. #4
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par chrisl0 Voir le message
    c'est sa le probleme je c'est pas comment faire sa.
    c'est la premiere fois que je travaille sur des sessions
    Oui oui, mais tu ne parles que de MYSQL (ou autre base de donnée) pas de session !

    Alors il faut savoir dans ton site web comment tu suis tes visiteurs ??

    Par exemple dans un forum, on fait souvent comme cela,

    Un visiteur arrives sur une de tes pages tu va regarder dans l'ordre


    1) si le flag que tu as mis dans sa session existe et est a OK
    2) SI NON tu va lire s' il a sur son micro un Cookies de ton site web
    si oui, est'il périmé ou bon,
    S' il est BON alors tu mets sasession a OK
    3) SI il n'as pas de session , pas de cookies , ou un cookies périmé
    TU LUI DEMANDES DE SE LOGUER !!

    voila la trame classique .. alors tu en es ou ???
    tu écris 1) 2) ou 3) ??

  5. #5
    Membre confirmé Avatar de chrisl0
    Homme Profil pro
    Par là ;)
    Inscrit en
    Février 2009
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Par là ;)

    Informations forums :
    Inscription : Février 2009
    Messages : 136
    Par défaut
    pour logger l'user je fai sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    <?php
    if (!isset($_POST['envoyer']))
    {
    echo '
     <form name="inscription" method="post" action="index.php?page=membre">
      <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="345" height="95">
        <tr>
          <td width="119" height="50" background="../images/Login.png" rowspan="3"></td>
          <td width="111" height="13" align="left">Pseudo</td>
          <td width="150" height="13" align="left"><input type="text" name="login" size="20" id="formulaireinput"></td>
        </tr>
        <tr>
          <td width="111" height="7" align="left">Mot de passe</td>
          <td width="150" height="7" align="left"><input type="password" name="pwd" size="20" id="formulaireinput"></td>
        </tr>
        <tr>
          <td width="237" height="32" colspan="2" align="center">
          <input type="submit" value="Se connecter" name="envoyer"></td>
        </tr>
      </table>
     </form>';
    }
    else
    {
    	// le formuaire vient d'être soumis
    	$login  = (isset($_POST['login'])) ? htmlentities(trim($_POST['login'])) : '';
    	$pwd   = (isset($_POST['pwd']))    ? htmlentities(trim($_POST['pwd']))   : '';
     
    	if (($login != '') && ($pwd != ''))
    	{
    		// Login et pwd non vides, on  vérifie s'il y a quelqu'un qui correspond
    		$req_utilisateur = sprintf("SELECT
    						nom,
    						prenom,
    						age,
    						pseudo,
    						mail,
    						level
    					FROM
    						utilisateurs
    					WHERE
    						(pseudo = '%s' AND mdp_sha1 = '%s');",$login, sha1($pwd));
    		$utilisateur = mysql_query($req_utilisateur) or die($req_utilisateur."<br />\n".mysql_error());
     
    		if (mysql_num_rows($utilisateur) == 1)
    		{
    			// Oui il y a quelqu'un ...
    			$personne = mysql_fetch_array($utilisateur);
                            session_start();
    			// On  enregistre ses données dans la session
    			$_SESSION['login'] = $pseudo; // permet de vérifier que l'utilisateur est bien connecté
    			$_SESSION['nom'] = $personne['nom'];
    			$_SESSION['prenom'] = $personne['prenom'];
    			$_SESSION['age'] = $personne['age'];
    			$_SESSION['mail'] = $personne['mail'];
    			$_SESSION['level'] = $personne['level'];
     
    			// Maintenant que tout est enregistré dans la session, on redirige vers la page
    			echo '<p style="color:red">Vous êtes correctement identifié(e), <a href="../membre/">Votre espace membre</a></p>'."\n";
    		}
    		else
    		{
    			// Erreur dans le login et / ou dans le mot de passe ...
    			echo '<p style="color:red">Désolé, vous avez peut-être fait une erreur dans la saisie des identifiants.</p>'."\n";
    		}
    	}
    	else
    	{
    		// il n'y a personne qui répond à ces 2 identifiants
    		echo '<p style="color:red">Aucun compte correspond ces identifiants.</p>'."\n";
    	}
    }
    ?>
    ensuite pour voir si il est logger je fait sa:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php
    session_start();
    if (isset($_SESSION['login']))
    {
    //la parti si il est logger
    }
     
    else
    {
    //le message comme qoui il est pas logger
    }
    ?>
    jutilise pas de cookie c'est peu etre un tor car quand je ferme le navigateur et le reouvre je suis toujours connecter meme plusieur jour apres

  6. #6
    FoxLeRenard
    Invité(e)
    Par défaut
    jutilise pas de cookie c'est peu etre un tor car quand je ferme le navigateur et le reouvre je suis toujours connecter meme plusieur jour apres
    Moi j'ais testé ton module il marche bien !
    Par contre quand je retourne sur le web, il faut se reloguer !
    En local pareil, mais fais attention a ton cache si tu as easyphp en local !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/04/2011, 11h01
  2. Réponses: 4
    Dernier message: 25/11/2007, 21h30
  3. Modifie mon mot de passe sous vista
    Par verkiki dans le forum Windows Vista
    Réponses: 3
    Dernier message: 21/05/2007, 01h35
  4. j'ai commis une faute en modifiant le mot de pass root de mysql
    Par sorari dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 04/04/2007, 16h24
  5. modifier le mot de passe utilisateur d'un client dans active directory
    Par passion_info dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 23/11/2006, 00h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo