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 :

switch case avec code généré


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club Avatar de hoyohoyo
    Profil pro
    Directeur de projet
    Inscrit en
    Août 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Août 2006
    Messages : 40
    Points : 35
    Points
    35
    Par défaut switch case avec code généré
    Bonjour voila j'ai un gros souci
    Voila je suis entrain de créer une page inscription, avec un lien que l'on peut utiliser qu'une fois.
    j'ai donc au début utilisé un switch case
    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
    <?php
    $lettres_chiffres = 'abcdefghijklmnopqrstuvwxyz0123456789';
    $lettres_chiffres_melanges = str_shuffle($lettres_chiffres);
    $code_confirmation = substr($lettres_chiffres_melanges, 1, 40);
     
     
      $opp=$_GET['opp'];
     
      switch ($opp)
      {
     
      case $code_confirmation:
      include ('modules/Lan/option/formulaire.php');
      break;
    }
    ?>
    Après j'ai créé le lien qui doit utiliser le switch case avec un code généré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo '<a href="index.php?file=Lan&amp;opp='.$code_confirmation.'"><img src="modules/Lan/images/inscription_open.png" width="125" height="25" /></a>';
    ?>
    Donc ça donne par exemple : index.php?opp=lg4ipe31jo78vb2n6s0dah59zkcqyrtfxmw .
    Mais le gros problème quand on clique sur le lien, la page se réactualise , donc le code généré pour le switch case change automatiquement.
    Franchement je ne sais pas comment faire.

  2. #2
    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
    Je te propose ca, utilisant les sessions.
    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
    <?php
    session_start();
     
    // s'il n'y en a pas déjà un, on stock en session un code de confirmation 
    if (!$_SESSION['code_confirmation']) {
          $_SESSION['code_confirmation'] = md5(uniqid(rand(), true));
    }
     
     
    // s'il le code de confirmation existe, on le compare à la variable reçue.
    if (isset($_SESSION['code_confirmation']) && $_SESSION['code_confirmation']  === $_GET['opp']) {
           include ('modules/Lan/option/formulaire.php');
           // on détruit la code.
           unset($_SESSION['code_confirmation']);
    }
    echo '<a href="index.php?file=Lan&amp;opp='. $_SESSION['code_confirmation'].'"><img src="modules/Lan/images/inscription_open.png" width="125" height="25" /></a>';
     
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club Avatar de hoyohoyo
    Profil pro
    Directeur de projet
    Inscrit en
    Août 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Août 2006
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    bonne idée, mais ?opp= est utilisé pour plusieurs page, il y a un switch case avec plein de page différentes, donc je ne sais pas si ça va être en conflit
    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
    <?php
      $opp=$_GET['opp'];
     
      switch ($opp)
      {
     
      case "securite":
      include ('modules/Lan/option/securite.php');
      break;
      case "confirmation":
      include ('modules/Lan/option/confirmation.php');
      break;
     
      case "inscription":
      include ('modules/Lan/option/inscription.php');
      break;
     
      case $code_confirmation:
      include ('modules/Lan/option/formulaire.php');
      break;
     
     
     
     
    }
    ?>

  4. #4
    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
    Tu veux dire que tu generes des codes donnant accès a diverses pages ?
    Ou que opp sert à ce systeme de code et à d'autres choses ?

    Peut etre pourrais-tu nous décrire plus precisemment ce que tu veux faire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club Avatar de hoyohoyo
    Profil pro
    Directeur de projet
    Inscrit en
    Août 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Août 2006
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    En fait, je ne veux pas avoir un lien définitif pour la page du formulaire pour les inscriptions.
    je ne veux pas que par exemple si un robot trouve le lien du genre index.php?op=formulaire, après c'est facile de créer plein de compte avec un robot, j'aimerais que ça fasse index.php?op=vfdsvbq1bt3 par exemple pour le formulaire, et si la personne revient que le lien soit différent

  6. #6
    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
    Ba ca ne fonctionnera pas : chaque visite du robot aura un code certes provisoire mais valide.

    Si tu veux eliminer les robots, utilise un captcha :
    http://www.captcha.net/
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau membre du Club Avatar de hoyohoyo
    Profil pro
    Directeur de projet
    Inscrit en
    Août 2006
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Août 2006
    Messages : 40
    Points : 35
    Points
    35
    Par défaut
    oui j'ai déjà essayer de l'utiliser, mais le gros problème est que je n'ai pas réussi à lui dire d'envoyer les $_POST dans une autre page :s

  8. #8
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    Citation Envoyé par hoyohoyo Voir le message
    oui j'ai déjà essayer de l'utiliser, mais le gros problème est que je n'ai pas réussi à lui dire d'envoyer les $_POST dans une autre page :s
    Peut tu nous montrer comment tu as fait, parce que là je ne comprends pas tout...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

Discussions similaires

  1. If /Else & Switch case avec plusieurs paramètres
    Par ralek dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 07/07/2010, 19h28
  2. Switch Case avec ToolStripMenu
    Par Zhamy dans le forum C#
    Réponses: 9
    Dernier message: 20/04/2010, 10h22
  3. Utilisation du switch/case avec un StreamReader
    Par hellalaboy dans le forum C#
    Réponses: 9
    Dernier message: 27/08/2009, 15h27
  4. switch case avec variable dans case
    Par lematteur dans le forum C
    Réponses: 5
    Dernier message: 17/04/2009, 12h08
  5. Switch case avec expression réguliere
    Par neptunia dans le forum Langage
    Réponses: 5
    Dernier message: 14/03/2008, 12h51

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