Autor Zpráva
Acci
Profil
Mám 100 uživatelských jmen, a potřebuju kontrolovat, jestli se přihlašovaný uživatel nachází v tomto seznamu. Nyní to pro jednoho uživatele dělám takto:
if(($_POST['user']==$login)&&($_POST['passwd']==$pass)) { .... }

Ale když těch uživatelů bude sto, podmínka by byla hodně dlouhá. Jak to zapsat jednodušeji?
fimmos
Profil
procházet to polem...

myslím, že ale lepší by to bylo s použitím databáze
Acci
Profil
A mohl by jsi mi poradit, jak to přesně zapsat? PHP skoro vůbec neumím
fimmos
Profil
jde to více způsoby, třeba takhle:

$hesla = Array("heslo0", "heslo1");
$jmena = array("jmeno0", "jmeno1");

for ($y = 0; $y < count($hesla); $y++) {

if (($_POST['passwd'] === $hesla[$y]) && ($_POST['user'] === $jmena[$y])) {

$prosel = true;
break;
}

}

echo $prosel == true ? "Zná heslo i jméno" : "Nezná heslo ani jméno";

moc to nepoužívám, ale jak říkám, lepší je to s databází
Leo
Profil
A co treba in_array? :-) Leo

http://mirrors.inway.cz/manual/cs/function.in-array.php
fimmos
Profil
ano, taky možnost :)
gofry
Profil *
Alebo pouzit rovno asociativne pole.

/*
predpokladajme, ze mas uz vytvorene pole pre 100 uzivatelov v tvare:
$users['user1'] = 'pass1';
$users['user2'] = 'pass2';
...
$users['userN'] = 'passN';
*/

$user = $_POST['user'];
$pass = $_POST['pass'];

if ($users["$user"] == $pass) {
echo "Login OK";
}
Toto téma je uzamčeno. Odpověď nelze zaslat.

0