Generer un code aléatoire

Fermé
anthony595 - 3 déc. 2005 à 22:39
 Zozo - 29 oct. 2011 à 15:09
bonsoir à tous ;)
je cherche un moyen de générer un code NUMERIQUE aléatoirement et comportant au moins 5 chiffres, en php.

je dois en fait créer un acces à a un parking virtuel grace a un system de codes aléatoires
il faut donc que j'affiche sur la page de l'utilisateur le code pour qu'il le retappe dans un formulaire....


vous voyez de quoi je parle?
A voir également:

5 réponses

Bonjour,

je t'ai fait ça en HTML Javascript, tu peux modifier le nombre de chiffre, la j'ai mis a 5

<html>
<head>
<script>
function nombre_alea(id_ecrire){
	var nbr_ch=5; //  generation d'un nombre a 5 chiffres modifier si besoin
	var x=Math.random();
	var nb=x*Math.pow(10,nbr_ch);
	nb_g=Math.round(nb);
	//alert("nb= "+nb_g);
	var obj=document.getElementById(id_ecrire);
	obj.value=nb_g;
}
</script>
</head>
<body>
<br><br><form>
Nombre al&eacute;atoire g&eacute;n&eacute;r&eacute;:
<br>
<input type="text" name="champ_nombre_aleatoire" id="id_nombre_aleatoire">
<br>
<input type="button" name="nouveau_nombre" id="nouveau_nombre" value="G&eacute;n&eacute;rer un nouveau nombre" onClick="nombre_alea('id_nombre_aleatoire');">
</form>
<body>
</html>


5
aralicia Messages postés 20 Date d'inscription samedi 3 décembre 2005 Statut Membre Dernière intervention 26 juin 2007 1
3 déc. 2005 à 23:03
ton script est somme toute facile a faire, le voici, expliqué:

<? php

//création d'un fonction qui calcule une puissance
function puissance($nb, $exposant) {
$result = 1
for($n=1, $n<=$exposant, $n++) {
$result = $result * $nb
}
return $result
}


//création de la fonction qui génère le code
function code() {
srand((double)microtime()*1000000);
//intialisation du générateur de nombres aléatoires
$min = 5 //nombre minimum de chiffres
$max = 10 //nombre maximum de chiffres
$nb_chiffres = rand($min,$max);
// choix du nombre de chiffres entre $min et $max
$nb_max= puissance(10, $nb_chiffres) - 1 //nombre maximum possible (999...9)
$nb_min =puissance(10, $nb_chiffres-1) //nombre minimum possible (10...0)
$code = rand($nb_min, $nb_max)
return $code
}

?>


Voila deux fonctions qui réalisent l'ojectif. Il suffit d'appeller la fonction code() qui renvera le code produit
1
Bonjour,

Attention aralicia, ta fonction renvoie bien un nombre de $min à $max chiffres, mais pas n'importe quel nombre.
En effet, la fonction rand ne rend que 32768 valeurs possibles différentes. Sur les milliards de nombres à 10 chiffres qui existent, tu ne verras jamais l'immense majorité !
Le 32768 dont je parle est valable pour les plateformes windows ; sa valeur sur une autre plateforme peut être obtenue par getrandmax().

essaye le script ci-dessous, tu verras qu'on retombe sur le même nombre aléatoire au bout de 32768 tirages...

<?php 
define ('RAND_MAX', getRandmax());

$x= rand(10000,1000000000);
  for ($k=1; $k<RAND_MAX+10; $k++) {
    $y=rand(10000,1000000000);
    if ($x==$y) {
      echo 'retour après ',$k,' itérations sur ',RAND_MAX;
      exit();
    }
  } 
  echo 'pas de retour après ',$k,' itérations';
?> 
0
erf...
0
cloclo002 Messages postés 3 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 14 décembre 2007 1
14 déc. 2007 à 03:01
Moi je cherche un code du genre mais en html c'est possible en HTML?
1
La fonction <?php rand(le minimun, le maximun); ?> mais c'est du PHP,
0
non
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour, merci Alain42 pour ce joli code pour moi je veux bien l'utilisé sous excel cela fait des jours que je cherche d'avoir un code qui me permet de generer un nombre aleatoire a chaque ligne remplie sous excel.

autrement dit je veux que excel me genere un code lors de la saisi qu'une ligne, merci d'avance de votre aide
0