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

PHP & Base de données Discussion :

génerer automatiquement login & mot de passe [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 53
    Par défaut génerer automatiquement login & mot de passe
    Salut
    Je veux savoir comment on peut générer aléatoirement un login et un mot de passe à partir du nom et du prénom d'une personne qui a effectué son enregistrement sur le site.
    Merci d'avance.

  2. #2
    Membre très actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    278
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Février 2009
    Messages : 278
    Par défaut
    C'est à dire à partir du nom?
    Tu peux simplement faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $login = $nom.".".$prenom rand(1, 100);
    $mdp = "" // cherche sur google une fonction pr générer un mdp aléatoire
    ?>
    Ou j'ai pas compris la question?

  3. #3
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 53
    Par défaut
    Citation Envoyé par shadypierre Voir le message
    C'est à dire à partir du nom?
    Tu peux simplement faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    $login = $nom.".".$prenom rand(1, 100);
    $mdp = "" // cherche sur google une fonction pr générer un mdp aléatoire
    ?>
    Ou j'ai pas compris la question?
    Non,tu as bien compris, merci bien,est ce que cela peut marcher ?
    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
    <?php
    if(isset($_POST['login'])){ 
     
    		// on passe toutes les variables $POST en variables
                     $nom=$_POST['nom'];
                    $prenom=$_POST['prenom'];
                    $privilege=$_POST['privilege'];
    		$login = $nom.".".$prenom rand(1, 100);
    		$pass = <?php
    // on declare une chaine de caractères
    $chaine = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@";
    //nombre de caractères dans le mot de passe
    $nb_caract = 8;
    // on fait une variable contenant le futur pass
    $pass = "";
    //on fait une boucle
    for($u = 1; $u <= $nb_caract; $u++) {
        //on compte le nombre de caractères présents dans notre chaine
        $nb = strlen($chaine);
        // on choisie un nombre au hasard entre 0 et le nombre de caractères de la chaine
        $nb = mt_rand(0,($nb-1));
        // on ajoute la lettre a la valeur de $pass
        $pass.=$chaine[$nb];
    }
    // on affiche le résultat :
    print $pass;
     
    ?>
     
    		// on fait l'INSERT dans la base de données
    		$add_user = sprintf("INSERT INTO  utilisateurs (privilege,login,pass,nom,prenom) VALUES ('$privilege','$login','$pass','$nom','$prenom')");
     
    ?>

  4. #4
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut
    par contre tu as un mot de passe en claire dans ta bdd...

  5. #5
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 53
    Par défaut
    Citation Envoyé par Ze AzAr Voir le message
    par contre tu as un mot de passe en claire dans ta bdd...
    oui j'ai un champs de mot de passe dans la bdd,je veux que le login et le mot de passe soient générer automatiquement(je veux pas laisser le choix DU LOGIN et mdp aux personnes qui veulent s'inscrire) et enregistrer dans la base de données.
    Mais est ce qu'il existe un code qui permet d'envoyer automatiquement un mail qui contient le login et mdp à chacun de ceux qui ont effectué leurs inscriptions sur le site

  6. #6
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function random($car) {
    	$string = "";
    	$chaine = "ABCDEFGHIJQLMNOPQRSTUVWXYZabcdefghijqlmnopqrstuvwxyz0123456789";
    	srand((double)microtime()*1000000);
    	for($i=0; $i<$car; $i++) {
    		$string .= $chaine[rand()%strlen($chaine)];
    	}
    	return $string;
    }
     
    $mdp = random(8);
    $mdp_crypt = hash('sha512', $mdp);
    passe ton random en fonction, plus agréable et souvent utile
    crypte le mdp avant de l'envoyer a la bdd... et tu affiche le mdp non crypté...

    tu as un mdp généré par toi, et crypté dans ta bdd

  7. #7
    Membre confirmé
    Inscrit en
    Août 2009
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 53
    Par défaut
    Citation Envoyé par Ze AzAr Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function random($car) {
    	$string = "";
    	$chaine = "ABCDEFGHIJQLMNOPQRSTUVWXYZabcdefghijqlmnopqrstuvwxyz0123456789";
    	srand((double)microtime()*1000000);
    	for($i=0; $i<$car; $i++) {
    		$string .= $chaine[rand()%strlen($chaine)];
    	}
    	return $string;
    }
     
    $mdp = random(8);
    $mdp_crypt = hash('sha512', $mdp);
    passe ton random en fonction, plus agréable et souvent utile
    crypte le mdp avant de l'envoyer a la bdd... et tu affiche le mdp non crypté...

    tu as un mdp généré par toi, et crypté dans ta bdd
    Merci bien ,je vais essayer

  8. #8
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Il existe aussi une fonction php, fonction : uniqid
    La doc (au cas où) -> uniqid()

  9. #9
    Membre éprouvé
    Inscrit en
    Juillet 2009
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 156
    Par défaut
    effectivement, uniqid() est une solution, mais je ne l'ai pas proposer car il sort trop de chiffre a mon gout

    Puis ca fait long le mdp si tu veux réellement résté sur quelque chose d'unique, théoriquement tu es censé prendre l'intrégralité soit 13 caractère pour un uniqid() simple... ca fait long le mdp

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

Discussions similaires

  1. oubli de login et mot de passe ?
    Par donny dans le forum Oracle
    Réponses: 4
    Dernier message: 10/04/2006, 13h25
  2. Réponses: 3
    Dernier message: 23/02/2006, 11h19
  3. Réponses: 3
    Dernier message: 25/11/2005, 13h06
  4. [VB]Gestion d'un login et mot de passe sous VB
    Par b_steph_2 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 10/10/2005, 18h09
  5. Fenêtre avec login et mot de passe
    Par keawee dans le forum ASP
    Réponses: 5
    Dernier message: 29/08/2005, 14h30

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