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 :

Page PHP affichant un texte aléatoire


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut Page PHP affichant un texte aléatoire
    Bonjour à tous,
    Pour etre concret, des gens vont entrer un code audiotel/starpass/allopass sur une page, si le code est bon ça les redirige vers ok.php, si le code est faux, vers erreur.php (ça c'est bon ça fonctionne). Sur la page ok.php doit apparaitre un (login+mot de passe en texte) qui sera différent pour chaque code starpass entré et ne devra pas réapparaitre une deuxième fois.. Il faut que je stocke les différents login+pass dans une base de données. Je m'y connais peu en php et mysql.. j'ai même pas reussi a utiliser la fonction order by rand.

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    À mon avis tu ne dois pas utiliser la fonction ORDER BY RAND, cela signifierait que tu stockes tous les mots de passes possibles dans une base de données et que tu en prends 1 aléatoirement. Ton fonctionnement serait tel qu'il faudrait bloquer les mots de passe à chaque utilisation etc.

    Je pense que l'idéal est de générer un identifiant aléatoire pour chaque internaute, une fois le code saisit, vérifier qu'il n'existe pas dans la base et l'ajouter dans la base de données.

    Soit, j'ai fait un truc vite fait :
    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
     
    <?php
    // Fonction qui vérifie l'existence d'un chaine dans la base de données
    function existsChaine($chaine){
             return (mysql_num_rows(mysql_quer('SELECT * FROM codes WHERE code="'.$chaine)) > 0);
    }
    function addChaine($chaine){
             return ($sql = mysql_query('INSERT INTO codes VALUES("'.$chaine.'")');
    }
    // Fonction qui génère une chaine de caracteres aléatoire et prends le nombre de caracteres en parametre
    function chaineAleatoire($nb_car){
            $caracteres = "123ABcDE456fGHiJKLMN789PQRSTUVWXYZ";
            $chaine = "";
            srand(time());
            for ($i=0;$i<=$nb_car;$i++)
                {
                $chaine.=substr($caracteres,(rand()%(strlen($caracteres))),1);
                }
            return $chaine;
    }
    // On créé une chaine de caractères aléatoire
    $chaine = chaineAleatoire(6);
    // Tant qu'il y a une occurence de cette chaine en DB on en créé une nouvelle
    while(existsChaine($chaine))
        {
        $chaine = chaineAleatoire(6);
        }
    // Affichage formulaire Saisie, une fois le formulaire saisie appeler la fonction addChaine(string:chaine)
    ?>

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    order by rand.
    ca veut dire "classer les enregistrements dans un ordre aléatoire".

    tu peux générer les login / pass en PHP ; pour la methode exacte, tout depend du type de login et mot de passe que tu veux obtenir.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    Bonjour, merci a vous deux de vous pencher sur mon probleme c'est très sympa.
    Ton script est très interessant ThomasR mais en fait je veux "piocher" dans la base de données un login+pass bien précis et non le générer. Le login+passe à piocher est non modifiable et tous seront entrés dans la bdd au départ. Dès que l'un d'entre eux apparaitra sur la pagé ok.php il faudrait qu'il soit supprimé de la base. Bien cordialement.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Et d'ou viendront les login/pass qui seront dans la base ?
    Il faudra bien les générer a un moment non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 9
    Par défaut
    Non, c'est MOI qui les rentre un à un dans la base au départ! C'est comme si sur cette page devait s'afficher une citation de Wilde différente a chaque fois. La citation n'est pas générée, elle a été rentrée dans la base dès le départ. Ca peut paraitre étrange mais c'est ce que je veux faire. Je ne veux rien générer. Cordialement.

  7. #7
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Oui mais si tu les rentres un à un au départ, lorsque tu auras épuisé le stock complet de codes, faudra bien les générer a un moment ou a un autre ?

    Donc autant les générer dès le début pour l'internaute, et lorsque l'internaute l'a saisi, l'ajouter dans la base de données pour signifier qu'il a déjà été utilisé.

Discussions similaires

  1. Réponses: 7
    Dernier message: 21/07/2011, 17h32
  2. texte du script php affiché dans la page résultat
    Par jlarras dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 26/02/2010, 11h48
  3. Réponses: 2
    Dernier message: 12/07/2006, 11h13
  4. Réponses: 8
    Dernier message: 08/02/2006, 15h16
  5. Insertion d'1 petit texte ciblé sur page .php avec echo
    Par sabine2000 dans le forum Langage
    Réponses: 1
    Dernier message: 21/10/2005, 11h31

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