Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Login

Aktivity
Avatar
Vojta Pšenák
Tvůrce
Avatar
Vojta Pšenák:4.3.2014 11:11

Ahoj, tenhle script mě odmítá číst z databáze, nemůžu přijít na to proč, nevíte co s tím? Díky

<?php
include 'databaze.php';
$nick = $_POST['nick'];
$heslo = $_POST['heslo'];
$id = mysql_query('SELECT id FROM user WHERE nick LIKE' . $nick, $spojeni);
$heslozdatabaze = mysql_query('SELECT heslo FROM user WHERE id LIKE' . $id, $spojeni);
if($heslozdatabaze === $heslo) {
    session_start();
    $_SESSION['nick'] = $nick;
    $_SESSION['heslo'] = $heslo;
    $_SESSION['id'] = $id;
    header('Location: menu.php');
}
//neúspěšné přihlášení
else {
    echo $id;
    echo $nick;
    echo $heslo;
    echo $heslozdatabaze;
    //header ('Location: prihlasitse.php?err=1');
}
?>
 
Odpovědět
4.3.2014 11:11
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:4.3.2014 11:14

Kód je plný SQL injekcí. Používáš úplně starý ovladač k DB. Podívej se na zdejší tutoriály.

Nahoru Odpovědět
4.3.2014 11:14
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Jan Demel
Tvůrce
Avatar
Odpovídá na Vojta Pšenák
Jan Demel:4.3.2014 11:17

Používáš opravdu starý ovladač MySQLi ... Zkus se podívat na moderní PDO a nebo se zkus naučit Nette. Sám se ho teďka učím a když vidím, kolik ta věc dokáže usnadnit práce ... :)

Nahoru Odpovědět
4.3.2014 11:17
To co se zdá být nemožné, je vždy možné.
Avatar
Odpovídá na Jan Demel
Uživatel sítě :4.3.2014 11:19

Nepoužívá Mysqli, ale Mysql. PDO ovšem není špatný nápad..

Nahoru Odpovědět
4.3.2014 11:19
Chybami se člověk učí, běžte se učit jinam!
Avatar
Vojta Pšenák
Tvůrce
Avatar
Vojta Pšenák:4.3.2014 11:22

Díky za rady, jdu se učit PDO :) Ale zatím vypadá dost těžce

 
Nahoru Odpovědět
4.3.2014 11:22
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Vojta Pšenák
David Hartinger:4.3.2014 11:24

Ono tam je více zvláštních věcí :D Asi nejzajímavější je, že se heslo v databázi ukládá v plaintextu. Dále že za LIKE není mezera a procenta.

Nahoru Odpovědět
4.3.2014 11:24
You are the greatest project you will ever work on.
Avatar
Jan Demel
Tvůrce
Avatar
Odpovídá na Uživatel sítě
Jan Demel:4.3.2014 11:24

Překlep sory :D

Nahoru Odpovědět
4.3.2014 11:24
To co se zdá být nemožné, je vždy možné.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Vojta Pšenák
David Hartinger:4.3.2014 11:26

Nemusíš se učit PDO, stačí si stáhnout místní wrapper - http://www.itnetwork.cz/…eni-wrapperu Z přílohy tohoto článku si vykuchej Databaze.php (nebo jak se ten soubor jmenuje) a podívej se jak se používá. Časem ho dám někam samostatně, ale ještě jsem se k tomu nedostal.

Nahoru Odpovědět
4.3.2014 11:26
You are the greatest project you will ever work on.
Avatar
Jan Demel
Tvůrce
Avatar
Odpovídá na Vojta Pšenák
Jan Demel:4.3.2014 11:28

PDO není zas tak těžký ovladač. Ze začátku to sice asi působí tak zmatkově, ale věř mi, že až ho pochopíš tak to bude pěkně přehledné :)

Nahoru Odpovědět
4.3.2014 11:28
To co se zdá být nemožné, je vždy možné.
Avatar
Petr Nymsa
Tvůrce
Avatar
Odpovídá na Vojta Pšenák
Petr Nymsa:4.3.2014 11:36

Jinak co tak chápu z těch dotazů tak se snažíš vybrat uživatele podle jména. Proč nejdříve vytahuješ id a pak jenom zase heslo ? Vytáhni si vše v jednom dotazu :)

Nahoru Odpovědět
4.3.2014 11:36
Pokrok nezastavíš, neusni a jdi s ním vpřed
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 10.