Nechápu z jakého důvodu nefunguje login – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Nechápu z jakého důvodu nefunguje login – PHP – Fórum – Programujte.comNechápu z jakého důvodu nefunguje login – PHP – Fórum – Programujte.com

 

jAkErCZ0
Stálý člen
20. 10. 2014   #1
-
0
-

Zdravím mám takový problém přešel jsem na dibi ale mám menší problém předělal jsem si svůj kód ale stále mi to píše že jsem zadal špatné heslo nebo uživatelské jméno což je blbost zadávám správné nevíte v čem může být chyba? :O

<?php
/*
=====================================================
 WGRS - Copyright (C) 2014 JSoft
 Autor - Jenkings
 Optimalizace a Úprava - jAkErCZ
-----------------------------------------------------
 http://war-game.eu
=====================================================
 File: login.php
=====================================================
*/
  if($_SESSION['id'] == false )
    {

  if(isset($_POST["login"]))
  {
      $nick = stripslashes(htmlspecialchars(trim($_POST["nick"])));
      $pass = md5(md5($_POST['pass']));
    
    /*---- SQL Dotazy --------------------------------------------------------*/
    $dotaz = dibi::query("SELECT * FROM accounts WHERE nick='".$nick."' AND heslo='".$pass."' LIMIT 1");  
    if(count($dotaz) != 0)
    {
      $user = dibi::fetch("SELECT * FROM accounts WHERE nick='".$nick."' LIMIT 1");
      if(mysql_num_rows($dotaz) == 1) 
      {
        if($ban==0){ 
        //session_regenerate_id();
        $_SESSION['id'] = $user['id'];
        $_SESSION['nick'] = $user['nick'];
        session_write_close();
        $lastlogin = date(' d.m.Y ')."/".date(' H:i:s ');
        $lastloginSQL = dibi::query("UPDATE `accounts` SET `last-login`='".$lastlogin."' WHERE nick='".$nick."'");
        $_SESSION['lastl'] = $lastlogin;
        $avatar = $user['avatar'];
        $admin = $user['admin'];
        $vip = $user['vip'];
        $ban = $user['ban'];



       
        echo "
            <div id='lg_avatar'><img src='".$avatar."' width='45px' height='45px' border='1' /></div> 
  					<div id='lg_name'><font color='white'>Přihlášen: </font><a href='profil.php?name=".$user['nick']."'>  ".$user['nick']."</a> ";
           if($vip==1){
              echo "<img src='./images/post/star.png' style='margin: 2px 1px;'>";
            } 
        echo"  </div>    
            <div id='lg_nast'>
            <a href='".$GLOBALS['web_url']."/test/nastaveni.php'>Nastavení</a> |</div>";
           
            if($admin==1){
              echo "<div id='lg_admin'><a href='".$GLOBALS['web_url']."/test/admin/main.php'>Administrace</a></div>";
            } 
            echo "
            <div id='lg_odh'><a href='".$GLOBALS['web_url']."/test/logout.php'><img src='./images/post/odhlasit.png'></a></div>
            ";
                }if($ban==1){
                  
                  echo "<h1><FONT color='#FF0000'><b>Účet nebyl aktivován!</b></FONT></h1>";
                  header("location: logout.php");
                  
                  }if($ban==2){
                  
                  echo "<h1><FONT color='#FF0000'><b>Tento účet je zablokován!</b></FONT></h1>";
                  header("location: logout.php");
                  
                  }    
    
    }else{
      echo "Zadal jsi špatné heslo..";
      }
    
     }else{
      echo "Pod tímto jménem není nikdo veden v databázi..\n";
    } 
      
    }else{
    /*---------- HTML ------------------------------------------------------- */
    echo "      
      <a href='#' alt='Registrace'><img src='./images/register.png' id='registrace'></a>
      <a href='#' alt='Zapomenuté heslo'><img src='./images/heslo.png' id='heslo'></a>
      
      <form method='POST'>
      
      <input type='text' value='' name='nick' required />
      <input type='password' value='' name='pass' required />
      <input type='submit' name='login' value='' required>
      
      </form>
       
    ";
    /*---------- Konec HTML --------------------------------------------------*/
  
  }
  /*--------------------- Konec SESION ID Login (Přihlášen) ------------------*/
  }else{
    $dotaz = dibi::query("SELECT * FROM accounts WHERE nick='".$nick."' LIMIT 1");
    if($dotaz)
    {
          if(mysql_num_rows($dotaz) == 1)
          {
            //session_regenerate_id();
            $avatar = $dotaz['avatar'];
            $admin = $dotaz['admin'];
            $vip = $dotaz['vip'];
            $_SESSION['id'] = $user['id'];
            $_SESSION['nick'] = $user['nick'];
            session_write_close();
            }
    }
    echo "
                    <div id='lg_avatar'><img src='".$avatar."' width='45px' height='45px' border='1' /></div>
           <div id='lg_name'><font color='white'>Přihlášen: </font><a href='profil.php?name=".$user['nick']."'>  ".$user['nick']."</a> ";
                   if($vip==1){
                          echo "<img src='./images/post/star.png' style='margin: 2px 1px;'>";
                    }
    echo"  </div>   
                    <div id='lg_nast'>
                    <a href='".$GLOBALS['web_url']."/test/nastaveni.php'>Nastavení</a> |</div>";
                  
                    if($admin==1){
                          echo "<div id='lg_admin'><a href='".$GLOBALS['web_url']."/test/admin/main.php'>Administrace</a></div>";
                    }
                    echo "
                    <div id='lg_odh'><a href='".$GLOBALS['web_url']."/test/logout.php'><img src='./images/post/odhlasit.png'></a></div>
    ";
  }
?>   
    
 

Předem děkuji za případnou pomoc :)

Nahlásit jako SPAM
IP: 85.71.70.–
KIIV
~ Moderátor
+43
God of flame
20. 10. 2014   #2
-
0
-

Opravdu se nekdy $_SESSION['id'] rovna false? Proc tam delas md5(md5($pass))? Startujes vubec nekdy tu session? Potrebujes mit ten last login v session? Protoze ji ukoncis jeste pred tim, nez to tam ukladas....

Nahlásit jako SPAM
IP: 94.113.95.–
Program vždy dělá to co naprogramujete, ne to co chcete...
jAkErCZ0
Stálý člen
20. 10. 2014   #3
-
0
-

Koukej mám ten false tam mám proto že když tam není podmínka tak se mi zaráz oběvuje login panel i přihlášený uživatel... je to kvůlu hashu md5 ano v je tam starování ten je vložen v includu header.. :) a ten pak napojený na celý web...  no potřebuju aby ten last login se vždy upravil jakmile se přihlásíš :)

Nahlásit jako SPAM
IP: 85.71.70.–
Matěj Andrle+1
Grafoman
21. 10. 2014   #4
-
0
-

#3 jAkErCZ
Dokonalé - prasekód s injekcemi! Každý normální člověk by měl hlavní stránku - šablonu a 2x user control - includovatelné soubory. Vytáhl by SESSION - jméno a to dal rovnou do podmínky...

include $_SESSION["name"] ? "loggedIn.htm" : "logIn.htm";
Nahlásit jako SPAM
IP: 78.136.154.–
jAkErCZ0
Stálý člen
21. 10. 2014   #5
-
0
-

A třeba rada jak to opravit nebo zabezpečit? :O

Nahlásit jako SPAM
IP: 85.71.70.–
amertak0
Návštěvník
22. 10. 2014   #6
-
0
-

Struktura a navrh aplikace: Symfony, Nette, Zend, kopa dalsich

SQL Injection:  

https://www.google.cz/webhp#q=php+sql+injection
Nahlásit jako SPAM
IP: 94.112.230.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 11 hostů

Podobná vlákna

CURL nefunguje login — založil Nikishek

PHP login nefunguje — založil Martin

Nechápu — založil don_Dominique

Uloha 5-uz nechapu — založil michal

Vůbec to celé nechápu!!!!!!!!! — založil Michael Dostál

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý