Generer un code aléatoire
anthony595
-
Zozo -
Zozo -
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?
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:
- Generer un code aléatoire
- Code ascii - Guide
- Comment générer un qr code - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
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
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éatoire généré:
<br>
<input type="text" name="champ_nombre_aleatoire" id="id_nombre_aleatoire">
<br>
<input type="button" name="nouveau_nombre" id="nouveau_nombre" value="Générer un nouveau nombre" onClick="nombre_alea('id_nombre_aleatoire');">
</form>
<body>
</html>
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
<? 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
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...
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';
?>
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
autrement dit je veux que excel me genere un code lors de la saisi qu'une ligne, merci d'avance de votre aide