Avatar
Patrik Neumann:

Ahoj, potřeboval bych udělat náhodný generátor písmen (aspoň 5) proti spamu. Poradí někdo, jak na něj? děkuji

Odpovědět 1.6.2015 16:13
Nic není nemožné, proto se snažím dál.
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Patrik Neumann
IT Man:
function generatorRetezce($delka) {
    $pismena = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $delkaPismen = strlen($pismena);
    $retezec = '';
    for ($i = 0; $i < $delka; $i++) {
        $retezec .= $pismena[rand(0, $delkaPismen - 1)];
    }
    return $retezec;
}
Editováno 1.6.2015 16:18
Nahoru Odpovědět 1.6.2015 16:18
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Patrik Neumann
Zdeněk Pavlátka:

Já používám takovýto postup:

// znaky, ze kterých se bude vybírat
$chars = "abcdefghijklmnopqrstuvwxyz";
// jejich počet
$charsCount = mb_strlen($chars);

$randomString = "";
// výsledná délka
$length = 5;
// generování
for($i = 0; $i < $length; $i++)
    $randomString .= $chars[rand(0, $charsCount - 1)];
Nahoru Odpovědět 1.6.2015 16:19
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
mayo505
Redaktor
Avatar
mayo505:

dá sa použiť aj funkcia str_shuffle

$length = 10;

$randomString = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, $length);

echo $randomString;
 
Nahoru Odpovědět  +1 1.6.2015 16:33
Avatar
Filip Šohajek
Redaktor
Avatar
Odpovídá na mayo505
Filip Šohajek:

Tato verze je nejrychlejší, ale jen nepatrně.

 
Nahoru Odpovědět 1.6.2015 16:38
Avatar
Nahoru Odpovědět 1.6.2015 16:41
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na mayo505
Patrik Neumann:

ahoj, dělám to podle tvé rady, ale nevím, jak udělat, aby to někam opsali a odeslali, a to potom usoudilo, jestli je to správně

Nahoru Odpovědět 1.6.2015 18:10
Nic není nemožné, proto se snažím dál.
Avatar
NouF
Člen
Avatar
 
Nahoru Odpovědět 2.6.2015 0:12
Avatar
Odpovídá na Patrik Neumann
Michal Šmahel (ceskyDJ):

Vygeneruj to a ulož do $_SESSION nebo databáze. Ale ta databáze je zbytečná...

Nahoru Odpovědět 2.6.2015 7:28
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
mayo505
Redaktor
Avatar
Odpovídá na Patrik Neumann
mayo505:

Moja rada bola iba ako vygenerovať náhodný reťazec :) Ale ako vraví Michal, uložiť do session a neskôr to kontrolovať je jednoduché :)

 
Nahoru Odpovědět 2.6.2015 9:58
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.