Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/08/2008, 22h04   #1
Invité de passage
 
Inscription : août 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 15
Points : 3
Points : 3
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 :
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 :
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.
hoyohoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 23h14   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
Je te propose ca, utilisant les sessions.
Code :
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>';
 
?>
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 23h22   #3
Invité de passage
 
Inscription : août 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 15
Points : 3
Points : 3
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 :
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;
 
 
 
 
}
?>
hoyohoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 23h25   #4
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
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.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 23h29   #5
Invité de passage
 
Inscription : août 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 15
Points : 3
Points : 3
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
hoyohoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 23h46   #6
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 383
Points : 16 383
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/
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/08/2008, 23h48   #7
Invité de passage
 
Inscription : août 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 15
Points : 3
Points : 3
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
hoyohoyo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2008, 08h37   #8
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 630
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 630
Points : 6 232
Points : 6 232
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 débutez dans la creation de sites web : les bases du html et débuter 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...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h07.


 
 
 
 
Partenaires

Hébergement Web