Autor Zpráva
Werewolf
Profil
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
$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
AM_
Vidím, že s databází moc neumíš.
Máš pravdu, tohle jsou rané pokusy ;-)

Jinak díky :-)
Werewolf
Profil
Ale pořád to nic nevypisuje :-/
AM_
Profil
Viz edit příspěvku výše, nevšiml jsem si dalších hrubek.
vynalezce
Profil
nemelo by tam byt =="true" ?
mimo tema ta 1 sekunda na login dobrej napad
Werewolf
Profil
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
zkus echa hodnot promenejch, cookies a echa v ifech (abys vedel kde se co vykonalo a nemelo a naopak)
AM_
Profil
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.

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:

0