générateur automatique

Invité
Invité n'ayant pas de compte PHPfrance

17 avr. 2007, 18:07

Bonjour,

je cherche le moyen de créer un script qui pourrait me créer des codes..

Je m'explique :

Sur mon site,j'utilise mes propres codes de type allopass A et j'organise sur mon forum des concours permettant d'en gagner.

Quand j'ai un code a générer dans ma base,ca va, mais quand j'en ai 20 a faire,c'est assez long..

Donc,comment je pourrais faire un script qui pourrait me créer aléatoirement un ou plusieurs codes commencant par 2 lettres spécifique et 9 caractère maximum ?

merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9783 Messages

17 avr. 2007, 22:09

Bonjour,

Voila une idée qui me trotte dans la tête, je n'ai pas vérifié que ce code fonctionnait mais au moins l'idée est là :)
$alphabet="abcdefghijklmnopqrstuvwxyz";
$code="XX"; // Les deux premiers caractères fixes
while(strlen($code)!=11) {
     $code.=$alphabet[rand(0,25)]; // On tire au sort une lettre et on l'ajoute à la fin du code
}
print $code;
Quand tout le reste a échoué, lisez le mode d'emploi...

Invité
Invité n'ayant pas de compte PHPfrance

18 avr. 2007, 00:02

Je te remercie de ta réponse.

J'ai réussi à l'adapter en le modifiant a ma convenance mais il me reste un détail que je n'arrive pas a trouver :

Comment en générer plusieurs à la fois et les insérer dans ma base ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 avr. 2007, 08:34

Tu peux mettre le code ci-dessus dans une fonction qui te retournera la valeur générée et que tu appelleras autant de fois que tu le souhaiteras, en y faisant appel dans une boucle par exemple :)
function maFonction() {
  ...
  return $code; // renvoi le code généré
}

while (...) {
  $monCode = maFonction(); // appel à la fonction
  $sql= 'INSERT INTO ... '; // requête d'insertion de la valeur en base
  ...
}
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...