|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : novembre 2005 Messages : 127 ![]() |
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. |
|
|
00
|
|
|
#2 |
|
Membre chevronné
![]() Inscription : juin 2005 Messages : 572 ![]() |
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. |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : mars 2007 Messages : 87 ![]() |
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 |
|
|
00
|
|
|
#4 |
|
Membre à l'essai
![]() Inscription : novembre 2005 Messages : 127 ![]() |
Merci à tous,
effectivement mon champ est un index .Je vais essayer de mettre en pratique vos conseils et je vous tiendrai au courant. |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : novembre 2005 Messages : 127 ![]() |
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. |
|
|
00
|
|
|
#6 | ||||
|
Membre chevronné
![]() Inscription : juin 2005 Messages : 572 ![]() |
Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com