Autor Zpráva
pexik
Profil *
Ahoj,
mám problém s vypisováním podmínek, no teda je to složitější , pokusím se to nastínit. Mám databázi kde mám sloupce prezdivka a heslo (samozřejmě i další sloupce), když se zaregistruje uživatel a chce se přihlásit ... tak tady nastává můj problém, potřebuju aby se mi generovali podmínky pro přihlášení, abych to nemusel vypisovat. Začal jsem nějak takhle:

$a = 1;$b = 1;
while($zaznam = mysql_fetch_array($vypsat2)):
$vypsaniPrezdivek[$a] = $zaznam['prezdivka'];
$vypsaniHesel[$b] = $zaznam['heslo'];
$a++;
$b++;
endwhile;

Toto funguje, ale ted nevim jak dál, vše co jsem zkoušel mi nefungovalo. ve výsledk uby to mělo vypadat nějak takhle:
if($heslo = "$vypsaniHesel[1]" and $prezdivka = "vypsaniPrezdivek[1]" or $heslo = "$vypsaniHesel[2]" and $prezdivka = "vypsaniPrezdivek[2]" or atd.....)

nebo jestli znáte jiný funkční způsob tak sem s ním budu rád za cokoli.
Pozn.: Když tam hesla doplnim tak to všechno funguje bezchybně, ale s tím se spokojit nechci...
kdyby jste chtel celý kód tak stačí napsat (jestl i vám to pomůže...)
yFang
Profil
pexik
V podmínkách musíš psát dvě rovnítka za sebou (==), když máš jen jedno přiřazuješ tím hodnotu.
if($heslo = "$vypsaniHesel[1]")

Tím proměnné $heslo přířadíš hodnotu porměnné $vypsaniHesel[1], což předpokládám nechceš.
Casero
Profil
pexik
Podivej se sem, jak by mohlo vypadat takové přihlášení.
pexik
Profil *
Tak dik uz to mam cely sem to vyresil takhle:

<?php
session_start();

$prihlasit = $_POST['prihlasit'];
$odhlasit = $_POST['odhlasit'];

if(isset($prihlasit)){
$heslo = $_POST['heslo'];
$prezdivka = $_POST['prezdivka'];}


if(isset($odhlasit)){
unset($_SESSION['authuser']);
unset($_SESSION['heslo']);
unset($_SESSION['prezdivka']);
session_destroy();
}

if(isset($prihlasit)){
$spojeni = MySQL_connect("mysql.ic.cz", "ic_pexxxik", "123456") or die ("spojeni s databazovym serverem se nepodarilo");
MySQL_select_db ("ic_pexxxik");
$kontrola = mysql_query("select * from uzivatele where prezdivka='".$prezdivka."' and heslo='".$heslo."'", $spojeni);


if($kontrola == true){
$_SESSION['authuser'] = true;
if($prezdivka !=""){$_SESSION['prezdivka'] = $prezdivka;}
if($heslo !=""){$_SESSION['heslo'] = $heslo;}
}
MySQL_close($spojeni);
}


?>

Fakt moc dik
pexxxik
Profil
Tak ro před tím bylo špatně, vždy to vyhodnotilo true a mohl se přihlásit každý, to jsem včera už nezkoušel, přřišel jsem na to dneska a tohle uz by mělo fungovat:

<?php
session_start();

$prihlasit = $_POST['prihlasit'];
$odhlasit = $_POST['odhlasit'];

if(isset($prihlasit)){
$heslo = $_POST['heslo'];
$prezdivka = $_POST['prezdivka'];}


if(isset($odhlasit)){
unset($_SESSION['authuser']);
unset($_SESSION['heslo']);
unset($_SESSION['prezdivka']);
session_destroy();
}

if(isset($prihlasit)){
$spojeni = MySQL_connect("mysql.ic.cz", "ic_pexxxik", "123456") or die ("spojeni s databazovym serverem se nepodarilo");
MySQL_select_db ("ic_pexxxik");

$vysledek= mysql_query("select jmeno from uzivatele where prezdivka='".$prezdivka."' and heslo='".$heslo."'");
$kontrola = mysql_num_rows ($vysledek);

if($kontrola == "1"){ //kontrola == $prezdivka
$_SESSION['authuser'] = true;
if($prezdivka !=""){$_SESSION['prezdivka'] = $prezdivka;}
if($heslo !=""){$_SESSION['heslo'] = $heslo;}
}
MySQL_close($spojeni);
}


?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: