Letter generator

Dit werkt iets anders. In de variabele '$letters' zitten alle woorden die gebruikt mogen worden voor de letter code. Er is dus 1 met alleen kleine letters, en 1 met kleine en grote letters. Ik gebruik rand() nu op deze manier. Eerst maak ik weer een loopje en doe vervolgens zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
   rand(0, strlen($letters));
?>


Op deze manier telt hij dus de aantal karakters wat in $letters zit, en kan zo een willekeurig cijfer genereren tussen de 0 en X (x is aantal karakters wat er dus in $letters zit). Nu doe ik dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$randchar
= substr($letters, $randnum, 1);
?>


Hiermee pak ik een willekeurige letter die begint bij $randnum (das dus het cijfer wat ik verder naar boven heb gegenereerd). Hij blijft dit stukje code doen totdat $length erop zit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?
//** random letter generator **//
function CharGen($length, $caps)
{

    if ($caps == 1)
        $letters = "aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ";
    else
        $letters = "abcdefghijklmnopqrstuvwxyz";
    
    for ($i = 1; $i <= $length; $i++)
    {

        $randnum = rand(0, strlen($letters));
        
        if ($i == 1)
            $randchar = substr($letters, $randnum, 1);
        else
            $randchar .= substr($letters, $randnum, 1);
    }

    
    return $randchar;
}


$password = CharGen(10, 0);
echo $password;
?>


Onderaan de code, zo roep je het dus aan. Als je van CharGen(10, 0): CharGen(10, 1) maakt (dus ipv een 0 op het einde een 1), pakt hij ook de hoofdletters erbij.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Number generator
  2. Letter generator
  3. Letter/cijfer generator

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.