Jump to content

návod [MiniTUT] Zobrazení náhodného čísla


gledy

Recommended Posts

Dneska jsem zrovna tuhle funkci použil a řekl si, že by se hodila i ostatním nováčkům.

 

Oč vlastně půjde ?


Půjde o vygenerování náhodného čísla/čísel pro prektické využití. Použít to můžete například pro svojí vlastní Amatérskou captcha ochranu.

 

 

Jak to funguje ?


Je to krátký kód a vaší starostí je akorát ukázat funkci od jakého čísla po jaké chcete generovat.

 

 

Samotný kód:


(rand(1000,9999))

Funkce se nazývá rand a dá se využít nejen k náhodným číslům, ale i písmen. Oficiální manuál naleznete zde: PHP: rand - Manual

 

 

Příklad:


$cislo = (rand(1,10));
echo $cislo;

Tento kód vám vypíše náhodné číslo od jedné do deseti.

 

 

Vlastní úprava:


(rand(1,10))

Čísla označená červeně nahraďte vlastnímy.

 

 

 

Tímto by to bylo asi vše. Na dotazy se ptejte ;)

Link to comment
Share on other sites

když už jsi u toho, nebude vadit že to dám sem ne ? :)

 

funkce rand(a,B) v PAWN kódu

 

funguje úplně stejně, akorát si hodťe někde mezi vaše #definy,,

#define rand(%1,%2) 			random(%2 - %1) + %1

Link to comment
Share on other sites

U funkce rand(min, max); je problém, že generuje stejná čísla poměrně často (píšou to i na dokumentaci, autoři to taky přiznali).

 

Pokud chceš vygenerovat náhodný unikátní klíč, který může obsahovat i písmenka tak doporučuju

$klic = uniqid(); //generuje vždy 13 znaků dlouhý klíč

, nebo

$klic = uniqid(true); //generuje vždy 26 znaků dlouhý klíč

 

 

Pokud chceš ale mermomocí číslo, tak používej chytřejšího bráchu od funkce rand, neboli mt_rand(), který je daleko rychlejší a spolehlivější

$cislo = mt_rand(min, max);

Link to comment
Share on other sites

bylo by dobre jeste ukazat priklad vypsani napriklad vypsani 2, 3, 4 cifernych cisel, ne kazdemu se bude hodit 24 dlouhe cislo :d

jestli myslíš ten klíč u uniqid, tak si ho asi budeš muset oříznout sám. uniqid vrací jen 13 znaků nebo 26. jiné nastavení nemá ;)

Každopádně oříznout text je jedna z nejprimitivnějších věcí.

Dejme tomu že chci jen 3 první znaky tak:

$celyklic = uniqid();
$kratsiklic = substr($celyklic, 0, 3); //chceme prvni tri znaky

 

ale jestli chceš číslo tak

$kratsiklic = mt_rand(100, 999);

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...