Autor Zpráva
Manny
Profil
Ahojte,
překopal jsem si jednoduchý přihlašovací dialog a teď tam nemůžu najít chybu. Špatné přihlašovací údaje to odchytí, ale se správnými neudělá nic. Žádná chybová hláška, nic.

část kódu:
if (!empty($_POST)) {

    include "admin/db_connect.php";
    
    $jmeno = htmlspecialchars($_POST["jmeno"]);
    $heslo = htmlspecialchars($_POST["heslo"]);
    
    $sql = "SELECT id FROM uzivatel WHERE jmeno = '$jmeno' AND heslo = '$heslo'";
    
    $dotaz = mysql_query($sql,$spojeni);
    if (!$dotaz)
      die('Nepodařilo se načíst řádky z databáze.');
    
    if (mysql_num_rows($dotaz)==1)
        {
        while($zaznam=mysql_fetch_array($dotaz))
            {
            $_SESSION["user_id"] = $zaznam["id"];
            }
            
            header("location:admin/administrace.php");
            
        }
    else
        
         $chyba = '<h3>Uživatel neexistuje</h3>';
        
    }    
Taps
Profil
Manny:
if (!empty($_POST)) {
 
    include "admin/db_connect.php";
    
    $jmeno = htmlspecialchars($_POST["jmeno"]);
    $heslo = htmlspecialchars($_POST["heslo"]);
    
    $sql = "SELECT id FROM uzivatel WHERE jmeno = '$jmeno' AND heslo = '$heslo'";
    
    $dotaz = mysql_query($sql,$spojeni);
    if (!$dotaz)
      die('Nepodařilo se načíst řádky z databáze.');
    
    if (mysql_num_rows($dotaz)==1)
        {
             $zaznam=mysql_fetch_array($dotaz);
              $_SESSION["user_id"] = $zaznam["id"];
       
            
            header("location:admin/administrace.php");
            
        }
    else
        
         $chyba = '<h3>Uživatel neexistuje</h3>';
        
    }    
Martin02
Profil
Manny:
Nemůže se nějakým záhadným způsobem stát, že budeš mít v db dvě schody? Pak by toto nefungovalo if (mysql_num_rows($dotaz)==1). Zkus místo ==1 dát >0.
Manny
Profil
Taps:
Díky, while mi tam zůstalo, protože těch proměnných bylo původně víc. Ale myslel jsem, že by to nemělo vadit.
Vyzkouším a uvidím:-)
Martin02:
Momentálně to není možné.
Manny
Profil
Taps:
Tak nefunguje. Je to stále stejné, jak jsem myslel.
Magnus123
Profil
Manny:
Máš zapnuté sessions (fce session_start())?
Když zadáš správné údaje, přesměruje to?
Manny
Profil
Magnus123:
Mám. A i kdyby ne, nehodí to žádnou chybovou hlášku. Jen znova načte prázdný formulář.
Taps
Profil
Manny:
v rámci testování si zkus vypsat
 $dotaz = mysql_query($sql,$spojeni) or die (mysql_error());
Manny
Profil
Postupným testováním jsem přišel na to, že problém bude až s přesměrováním pomocí header, který mě nejspíš stále přesměrovává na aktuální stránku.
Nechápu ale proč. Původní script fungoval a cesta je správná.

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: