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 :

paramètres sur un lien et variables aléatoire


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Par défaut paramètres sur un lien et variables aléatoire
    Bonjour,
    j'ai deux soucis:
    -le premier c'est celui de créer une variable de 8 caractères (avec chiffres et lettres) et le stocker dans une base mais il faut qu'elle soit unique dans la base.Sachant que cette variable est créée de façon aléatoire, je me demande comment il faut faire le test avant stockage dans la base ?

    -le deuxième c'est celui d'un lien qui mène vers une page . Ce lien a un paramètre que je ne souhaite pas qu'on voit sa valeur.Comment je peut l'encoder?
    Exemple:
    ........mapage.php?Truc=valeurquejeneveutpasqu'onvoit&Truc1=autrevaleur
    lorsque je reçois un mail, il y a souvent des liens de la forme:


    .......messages.php?sid=d6ff217d7ed14697e91f952e11826553

    Il apparaît que la valeur de sid est encodée ? mais comment ?

    Je vous remercie d'avance de votre aide.Même un tuto qui explique cela m'arrangerai.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Par défaut
    Pour ta première question ta demande me semble étrange : stocker un champ unique dans la base, cela signifie que ton champ en question est un index ou une clé primaire.

    Or ce type de champ construit aléatoirement, je ne vois pas l'interet.
    Sinon tu peux générer un nombre aléatoire et vérifier qu'il n'est pas dans la base, et recommencer s'il l'est.

    Pour ta deuxième question tu peux utiliser un principe de codage/décodage (exemple du rsa) pour coder ton attribut passé en get.

    Une autre méthode consiste à envoyer les identifiants en clair accompagnés d'un attribut de controle qui sera par exemple les champs concaténés et cryptés en md5.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 87
    Par défaut
    bonjour,

    pour l'unicité tu peux utiliser la propriété UNIQUE des colones dans une table. Celle-ci s'attribue à la création de la table (c'est une propriété de la base de données qui n'a rien à voir avec PHP). Si tu utilise PHPMyAdmin, tu peux cocher cette option lors de la creation d'une nouvelle table dans la colone visée.

    pour l'encodage, tu peux utiliser base64_encode et base64_decode

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Par défaut
    Merci à tous,
    effectivement mon champ est un index .Je vais essayer de mettre en pratique vos conseils et je vous tiendrai au courant.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    204
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 204
    Par défaut
    j'ai utilisé les fonctions base64_encode et base64_decode en y ajoutant quelques suppléments et ça marche.
    Pour ce qui est de mon champ index, je n'arrive pas lui alouer des variables uniques de façon aléatoire.En effet j'aimerai utilisé ce champ comme reférence de l'enregistrement.Bien évidemment cet enregistrement comporte aussi une clé primaire qui a son intérêt.
    voilà à peut près l'algo:
    A-création d'une avriable à 8ktères
    B-vérification de sa présence dans la base
    1-si pas présent dans la base alors le stocker dans le champ index
    2-si présent dans la base alors revenir en A

    c'est revenir en A qui me pose un problème dans ce langage.
    Pourriez vous m'aider ?
    En vous remerciant.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    fin<-- faux
    Répéter
          generer(code_aleatoire)
          si non verifier_en_base(code_aleatoire) alors
             fin <-- vrai
          fin si
    Jusqu'à fin = vrai
    Dans ce langage précis (je n'avais pas vu cette précision)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $fin = false;
    do
    {
       generer($code_alea);
       $res = mysql_query("select champ from matable where champ='".$code_alea."'");
       if(!($row = mysql_fetch_row($res)))
          $fin = true;
    }
    while($fin == false);

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

Discussions similaires

  1. changer la valeur d'une variable en cliquant sur un lien
    Par nintendoplayer dans le forum Langage
    Réponses: 2
    Dernier message: 05/08/2007, 20h09
  2. Réponses: 2
    Dernier message: 11/05/2007, 11h37
  3. Réponses: 1
    Dernier message: 07/12/2006, 20h02
  4. Clique sur le lien , donne un n° de variable
    Par paterson dans le forum Langage
    Réponses: 4
    Dernier message: 01/04/2006, 15h35
  5. [Forum] Envoyer une variable quand on clique sur un lien
    Par Eisy dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 34
    Dernier message: 17/03/2006, 13h05

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