Autor | Zpráva | ||
---|---|---|---|
Werewolf Profil |
#1 · Zasláno: 22. 3. 2009, 16:13:54 · Upravil/a: Werewolf
Ahoj, zkopíroval jsem si login systém z http://kiko.mcmini.net a upravil na vyndavání z DB. Ale když najedu tu stránku, nic. Koukám na bílou plochu. Kód:
<?php $login = @mysql_fetch_array("SELECT user FROM ank_users WHERE user = ".$_POST['aky_login']); $heslo = @mysql_fetch_array("SELECT pass FROM ank_users WHERE pass = ".$_POST['ake_heslo']); if(@$_POST['login_check']==true) { if($_POST['aky_login']==$login){ if(md5($_POST['ake_heslo'])==$heslo){ setcookie("PHPLoginSystemL",$login,time()+86400); setcookie("PHPLoginSystemP",$heslo,time()+86400); sleep(1); //prihlasovanie trvá 1 sekundu =) header("Location: .$_SERVER['PHP_SELF'])]http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); exit; } //ake_heslo } //aky_login } //$_POST['skontroluj_heslo'] if(@$_POST['logout']==true){ setcookie("PHPLoginSystemL",$login,time()-86400); setcookie("PHPLoginSystemP",$heslo,time()-86400); sleep(1); //odhlasovanie trvá 1 sekundu =) header("Location: .$_SERVER['PHP_SELF'])]http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']); exit; } $heslo_formular = ""; if(@$heslo){ if($_COOKIE['PHPLoginSystemP']!=$heslo) { $heslo_formular="<form method=\"POST\" action=\"".$_SERVER['PHP_SELF']."\">\n"; $heslo_formular.="<table align=\"center\">\n"; $heslo_formular.="<tr>\n"; $heslo_formular.="<td width=\"100%\" colspan=\"2\">Pre zobrazenie obsahu sa prihláste</td>\n"; $heslo_formular.="</tr>\n"; $heslo_formular.="<tr>\n"; $heslo_formular.="<td width=\"35%\">Login:</td>\n"; $heslo_formular.="<td width=\"65%\"><input type=\"text\" name=\"aky_login\" /></td>\n"; $heslo_formular.="</tr>\n"; $heslo_formular.="<tr>\n"; $heslo_formular.="<td width=\"35%\">Heslo:</td>\n"; $heslo_formular.="<td width=\"65%\"><input type=\"password\" name=\"ake_heslo\" /></td>\n"; $heslo_formular.="</tr>\n"; $heslo_formular.="<td colspan=\"2\" align=\"center\">\n"; $heslo_formular.="<input type=\"hidden\" name=\"login_check\" value=\"true\">\n"; $heslo_formular.="<input type=\"submit\" value=\" Prihlásiť sa \" />\n"; $heslo_formular.="</td>\n"; $heslo_formular.="</tr>\n"; $heslo_formular.="</table>\n"; $heslo_formular.="</form>\n"; } else { $heslo_formular="<form method=\"POST\" action=\"".$_SERVER['PHP_SELF']."\">\n"; $heslo_formular.="<table align=\"center\">\n"; $heslo_formular.="<tr>\n"; $heslo_formular.="<td width=\"100%\" colspan=\"2\">Ste prihlásený</td>\n"; $heslo_formular.="</tr>\n"; $heslo_formular.="<tr>\n"; $heslo_formular.="<td width=\"65%\">Toto je tajný obsah pre tých ktorý vedia heslo</td>\n"; $heslo_formular.="</tr>\n"; $heslo_formular.="<td colspan=\"2\" align=\"center\">\n"; $heslo_formular.="<input type=\"hidden\" name=\"logout\" value=\"true\">\n"; $heslo_formular.="<input type=\"submit\" value=\" Odhlásiť sa \" />\n"; $heslo_formular.="</td>\n"; $heslo_formular.="</tr>\n"; $heslo_formular.="</table>\n"; $heslo_formular.="</form>\n"; } } if($heslo_formular){ echo $heslo_formular; } ?> Nevíte, pls, někdo, čím to může být? Díky, Werewolf Edit: Bez @ na 2. a 3. řádku to píše: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\_login.php on line 3 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\_login.php on line 4 |
||
AM_ Profil |
#2 · Zasláno: 22. 3. 2009, 16:20:35 · Upravil/a: AM_
$q = mysq_query("SELECT user, pass FROM ank_users WHERE user = '".$_POST['aky_login']."'"); if (($q === false) || (mysql_num_rows($q) == 0)){ //login se nezdaril, nejak si to osetri (uzivatel neexistuje nebo je chyba v dotazu) } else { list($login, $heslo) = mysql_fetch_array($q); //mame pozadovaneho uzivatele a jeho heslo } Vidím, že s databází moc neumíš. Nejdřív si o mysql něco nastuduj, než jej začneš používat, pak se nemůžeš divit, že ti skripty nefungují (tohle nejsou chyby z nepozornosti, ale z totální neznalosti). //Edit: ještě jsem to poupravil, nejdřív jsem přehlédl tu hrůzu s dotazem v mysql_fetch_array. Jo a NEPOUŽÍVEJ zavináče před funkcemi, pokud nevíš, co děláš. Pak místo pěkných chybových hlášek, které ti řeknou, co a kde je špatně, koukáš na bílou obrazovku. |
||
Werewolf Profil |
#3 · Zasláno: 22. 3. 2009, 16:22:13
AM_
„Vidím, že s databází moc neumíš.“ Máš pravdu, tohle jsou rané pokusy ;-) Jinak díky :-) |
||
Werewolf Profil |
#4 · Zasláno: 22. 3. 2009, 16:23:11
Ale pořád to nic nevypisuje :-/
|
||
AM_ Profil |
#5 · Zasláno: 22. 3. 2009, 16:25:12
Viz edit příspěvku výše, nevšiml jsem si dalších hrubek.
|
||
vynalezce Profil |
#6 · Zasláno: 22. 3. 2009, 16:29:30 · Upravil/a: vynalezce
nemelo by tam byt =="true" ?
mimo tema ta 1 sekunda na login dobrej napad |
||
Werewolf Profil |
#7 · Zasláno: 22. 3. 2009, 17:06:14
vynalezce
„dobrej napad“ nebyl můj „=="true"“ ne. TRUE je ... ... ... prostě to neni hodnota AM_ „Viz edit příspěvku výše, nevšiml jsem si dalších hrubek.“ díky ;-) |
||
vynalezce Profil |
#8 · Zasláno: 22. 3. 2009, 17:10:16
zkus echa hodnot promenejch, cookies a echa v ifech (abys vedel kde se co vykonalo a nemelo a naopak)
|
||
AM_ Profil |
#9 · Zasláno: 22. 3. 2009, 17:18:06
if ($bagr) volně přeloženo znamená je pravda, že bagr?
if ($bagr == true) volně přeloženo znamená je pravda, že je pravda, že bagr? Proto tam nemusí být ==true. |
||
Časová prodleva: 15 let
|
0