elseif ($query[heslo] == $pass) tato podmienka by mala vratit TRUE ak sa zhoduje ale neviem prečo to nefunguje proste ak sa zhoduju vypiše že heslo je zle a ked ho vypisem zle tak je to OK,ale ked napišem elseif ($query[heslo] != $pass) tak je všetko ok ..teraz neviem či to elseif vraca nejaké negacie alebo čo ..kde robím chybu prosim
Počuj a vyťahuje ti to $query[heslo] dobre,? Skús ho skontrolovať tak že ho vypíšeš najpr len. pretože sa môže stať to napr to query to nevybere správne . A dajme tomu ty čakáš že ti query vratí heslo napr 123456 a ono ti možno vráti " " nič....A preto keď provnávaš if napr to $query[heslo] == $pass tak tto porovnáva ako " " == 123456 čo je vlastne blbosť.
A ak vyberáš z db skús to takto SELECT * FROM heslo WHERE heslo='$pass' ak ti SELECT vráti hodnotu večšiu ako 1 tak je heslo dobré. Ak nie zlé.
zrejme budeš mať chybu niekde inde, nejak tam nevidím nič zlé, iba ak by si v $this->query nemal správny resource (celé je to dosť divno robené, že over sa spolieha na to, že predtým bol select hesla z db, neviem prečo sa ten select nerobí v tejto funkcii)
//autoeditácia príspevku ( 19 May 2009, 19:20 )
ST1GD3R napísal:...
A ak vyberáš z db skús to takto SELECT * FROM heslo WHERE heslo='$pass' ak ti SELECT vráti hodnotu večšiu ako 1 tak je heslo dobré. Ak nie zlé.
na to by som sa nespoliehal, skôr by som overoval či je mysql_num_rows väčšie ako nula
--> audiotrack: Hentak som to myslel len som sa zle vyjadril.
BTW : Hentak to robím ja s tým že to porovnávam nie len na heslo
$sql ="SELECT * FROM tabulka WHERE meno='$meno' AND heslo='$heslo' ";
$result = mysql_query($sql,$pripojenie);
if (mysql_num_rows($result) > 0)
{
echo "Heslo bolo zadané správne";
}
Pretože keby máš len SELECT * FROM tabulka WHERE heslo='$heslo' by ti to mohlo vytiahnuť všetko z DB kde máš heslo napr 123456 každý riadok.
vdaka za všetky rady už som to spravil nakoniec som mal tam chybu a pri volany z DB query mi vracalo "" alebo uplne kraviny ale už je to OK ..len som musel zmazať parameter $this->spojenie nechapem prečo robil také blbosty ale všade inde funguje len pri tomto logine nie ale tak všetko je OK to je hlavne
ešte jedna otazočka stači ak bude kontrolovat u uživatela či existuje sid ? aby som vedel že je lognutý? alebo to treba ešte nejako zabezpečit?
sid sa mi vytvorí pri session_start() a tým pádom ho mám aj keď nie som lognutý. Ukladaj si do session nejakú hodnotu (napríklad id aby si vedel kto je lognutý) a kontroluj $_SESSION['id'] nie sid (ak si teda mal na mysli sid prenášané ako get alebo v cookies)
audiotrack napísal:sid sa mi vytvorí pri session_start() a tým pádom ho mám aj keď nie som lognutý. Ukladaj si do session nejakú hodnotu (napríklad id aby si vedel kto je lognutý) a kontroluj $_SESSION['id'] nie sid (ak si teda mal na mysli sid prenášané ako get alebo v cookies)
JJ tak fajne len som chcel vedieť či to stači kontrolovat a či sa to da nejako obýst bez väčšých problemov chcem aby to bolo čo najbezpečnejšie
to s tou kontrolou ci je niekto online by aj mna zajimalo, ked sa niekto napr neodhlasi iba zavrie stranku ako mam zistit ze je uz na tej stranke nieje??
ST1GD3R napísal:Napr kontroluj posledný čas. A ak je menší ako 15 min tak daj že je offline. A halve proste pri každom klôiknuti na stránku nech sa updatne čas v DB
tak som to aj ja rozmýšlal ale nieje to vela kontrol ked to bude kontrolovat ten čas ? lebo tak to musi celučku tabulku prejsť každeho jedneho uživatela
TGiJack napísal:tak som to aj ja rozmýšlal ale nieje to vela kontrol ked to bude kontrolovat ten čas ? lebo tak to musi celučku tabulku prejsť každeho jedneho uživatela
čo ty táraš? Ja som užívateľ s id 123. Pri každom prechode stránky sa pozre do tabulky napríklad logged_users či je čas pri user_id=123 zvýšený o 5 minút menší ako aktuálny čas. Ak nie, updatne čas, ak hej, zmaže "môj" riadok z tejto tabuľky. Pri prihlásení usera sa jeho riadok pridá. Je to práca s jednou tabuľkou, kde bude pár záznamov (iba tí čo sú prihlásení) a bude sa pracovať len s tým podľa id (nie so všetkými). Ostatní useri ma vôbec nezaujímajú
//prípadne tie časy môžeš mať pri užívateľoch ako ďalší atribút