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 :

Génération d'url dynamique


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Génération d'url dynamique
    Bonjour,

    Je souhaiterais mettre en place un système de génération d'url selon le contenu de ma page.

    Pour être plus clair, prenons l'exemple ou j'ai une page qui permet à un utilisateur de saisir des données. Sur cette page il y a également un bouton "Générer" qui va générer des nombres aléatoires en Javascript indépendamment de la saisie des données de l'utilisateur.

    Est-il possible de faire une sorte de "sauvegarde" de l'état de la page quand l'utilisateur clique sur "Générer" et de créer une URL temporaire dynamiquement pour y retrouver les mêmes données (saisies utilisateur et valeurs aléatoires) ?

    Bonne journée !

    Yann

  2. #2
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    oui, c'est possible.
    il suffit de mettre dans les paramètres de l'url les données à sauvegarder
    exemple :
    www.site.com/mapage.php?nom=marc&nombre1=123456

    pour générer ton url, ça dépend du fonctionnement de ta page :
    soit tu récupères toutes les données avec javascript et tu génères l'url avec le javascript, soit les données saisies sont envoyées avec un formulaire et c'est php qui génère l'adresse.
    avec php, ça donnerait un code dans ce genre :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $nom = $_POST['nom'];
    $nombre1 = $_POST['nombre1'];
    echo "<a href=\"www.site.com/mapage.php?nom=$nom&nombre1=$nombre1\">page préremplie</a>


    ensuite, pour remplir les champs, tu le fais en php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $nom = $_GET['nom'];
    echo '<input type="text" id="nom" name="nom" value="'. $nom .'"/>';
    n'oubliez pas de voter si le message vous a aidé


  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Merci beaucoup pour votre réponse rapide. J'avais pensé à cette solution cependant j'ai pas mal de paramètres et j'aime pas vraiment les avoir en clair dans l'URL. Je préférerai avoir une sorte de HashMD5 en guise de paramètre URL mais je ne sais pas si c'est faisable.

    Et je souhaite également sauver l'état de mes variables Javascript (dont des tableaux). Je ne sais pas si c'est possible.

    Merci !

    Yann

  4. #4
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    ben le souci avec un hash c'est que on peut à partir de la chaine trouver le hashage mais pas l'inverse.
    si vous avez une base de données, vous pouvez faire une table pour sauvegarder les données. dans ce cas, la solution serait de faire une table de cette forme :
    id,nom,nombre1,....
    lors de la génération d'url, vous enregistrez tous les paramètres à sauvegarder dans la table et vous fournissez une url de cette forme : www.site.com/mapage.php?id=3

    Pour stocker les tableaux, il faut les sérialiser et désérialiser :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $Tableau = array('un','deux','trois');
    $toto = serialize($Tableau); //tableau à stocker dans la bdd
    $toto = unserialize($toto); // "refaire" le tableau à partir de ce qui est dans la bdd

    lorsque l'utilisateur va venir sur la page préremplie, il vous suffira de récupérer l'id fourni dans l'url et ensuite en faisant une requête dans la bdd, vous remplissez les champs
    n'oubliez pas de voter si le message vous a aidé


  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Merci beaucoup pour votre réponse. C'est exactement la conception qu'il me fallait. J'utiliserai un hash MD5 en guise de clé primaire. Une dernière petite question pour la route... est-il possible de sauvegarder temporairement ces informations en BDD ?

    Encore merci d'avoir pris le temps de me répondre.

    Cordialement,
    Yann

  6. #6
    Membre averti
    Avatar de crozet.magenta
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2012
    Messages
    208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 208
    Points : 374
    Points
    374
    Par défaut
    Pas que je sache il n'existe pas de "nettoyage automatique" dans les bdd (si un membre plus expérimenté peut confirmer ce point svp) mais vous pouvez selon comment fonctionne votre site soit supprimer automatiquement les données de l'utillisateur quand il clique sur le lien sauvegardé soit ajouter un champ dans la table avec la date d'enregistrement des données et faire un script de nettoyage que vous lancerez périodiquement qui supprimera les lignes qui sont trop anciennes en comparant la date d'enregistrement et la date actuelle
    n'oubliez pas de voter si le message vous a aidé


  7. #7
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour pouvoir bien répondre il faudrait savoir exactement a quoi sert tout ça.

    Mais sinon le concept que vous avez décris est réalisable : les données sont stockées dans une base de donnée avec une clef comme référence.
    Lorsque l'utilisateur revient avec son URL contenant la clef, les données sont relues de la base de donnée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Janvier 2013
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Merci pour vos réponses. Je me suis renseigné un peu et il semble pas possible dans MySQL en tout cas, de créer des scripts qui s'exécutent temporairement. Il faut que je m'oriente vers les "Cron job" je crois...

    Pour répondre à sabotage. Mon projet consiste en la génération aléatoire d'une équipe pour le jeu League of Legends. On entre le nom des 5 joueurs, et on génère aléatoirement la position et le "champion" que chaque joueur devra jouer parmi une liste de 110 champions dans le jeu.

    Voilà voilà merci à tous pour votre aide je considère le sujet comme résolu.

    Bonne journée.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/05/2007, 02h41
  2. Génération de boutons dynamiquement.
    Par azerty53 dans le forum VB.NET
    Réponses: 3
    Dernier message: 09/05/2007, 11h37
  3. HttpInvoke : url dynamique
    Par eric.pommereau dans le forum XMLRAD
    Réponses: 2
    Dernier message: 16/03/2007, 17h56
  4. [VB.NET] Pb sur la génération de control dynamique.
    Par bisounux dans le forum ASP.NET
    Réponses: 16
    Dernier message: 19/01/2006, 19h43

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