Problém s mysql_query – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Problém s mysql_query – PHP – Fórum – Programujte.comProblém s mysql_query – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Dreity
~ Anonymní uživatel
1 příspěvek
17. 1. 2015   #1
-
0
-

Zdravím,

Jako závěrečku na informatiku jsem se rozhodl udělat eshop, ale moc se v php + mysql neorientuju, tak jedu podle návodu, jenže mi nefunguje přihlášení.

tady je můj kód

 

<?php
    session_start();
    if(isset($_SESSION["manager"]))
        {
            header("location: index.php");
            exit();
        }
?>
<?php
    if (isset($_POST["username"]) && isset($_POST["password"]))
    {
        $manager = $_POST["username"];
           $password = $_POST["password"];
        
        include "../scripts/connect_to_mysql.php";
                
        $sql = mysql_query("SELECT id FROM admin WHERE username='$manager' AND password='$password' LIMIT 1");
                
        $existCount = mysql_num_rows($sql);
        if ($existCount == 1) 
        { 
             while($row = mysql_fetch_array($sql))
             { 
                 $id = $row["id"];
             }
             $_SESSION["id"] = $id;
             $_SESSION["manager"] = $manager;
             $_SESSION["password"] = $password;
             header("location: index.php");
             exit();
        }
        else
        {
            echo "Špatně zadané údáje, zkuste <a href='index.php'>to znovu.</a>";
            exit();
        }
    }

?>

Jenže když se zkusím přihlásit, tak mi prohlížeč napíše tohle:

Deprecated: mysql_query(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in mojecesta\mujeshop\admin\admin_login.php on line 17

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in mojecesta\mujeshop\\admin\admin_login.php on line 19

Udělal sem všechno podle návodu, ale nejde to.. Přitom pánovi v návodu to šlape. Ocením všechny rady, děkuji.

Nahlásit jako SPAM
IP: 193.165.72.–
Reklama
Reklama
Kit+11
Guru
17. 1. 2015   #2
-
0
-

#1 Dreity
Funkce mysql_query byla zavržena a bude odstraněna.

V proměnné $sql nemáš SQL, proto by se měla jmenovat jinak. Obvykle $result.

V SQL dotazu máš závažnou bezpečnostní díru.

SQL dotaz zřejmě hlásí nějakou chybu, kterou ignoruješ. Proto následující příkaz selže.

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
2528 příspěvků
19. 1. 2015   #3
-
0
-

Viz Kit
$sql = mysql_query("SELECT id FROM admin WHERE username='$manager' AND password='$password' LIMIT 1");
prepis to na

        $query = "SELECT id FROM admin WHERE username='$manager' AND password='$password' LIMIT 1");
        echo "<hr>$query<hr>"; // vypise sql dotaz, ktery muzes zkopirovat do phpmyadmina
        $result = mysql_query($query) or die(mysql_error()); // vypise chybu

a pak taky to oprav tady na $result
$existCount = mysql_num_rows($sql); // zde
if ($existCount == 1) { while($row = mysql_fetch_array($sql)) // zde

A taky si to oprav bezpecnostni chyby a po odladeni smaz tu cast s "or die(...)", protoze to je taky bezpc. chyba, kdyz to hackerovi neco vypisuje.

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:204b:51...–
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, 30 hostů

Podobná vlákna

Mysql_query(): — založil ebeš

Proměnná v mysql_query — založil Mirek Braho

Problém !!! :-( — založil Jarda

 

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