Diskuze: Login

PHP PHP Login American English version English version

Avatar
Vojta Pšenák
Redaktor
Avatar
Vojta Pšenák:

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
Redaktor
Avatar
Petr Nymsa:

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
Redaktor
Avatar
Odpovídá na Vojta Pšenák
Jan Demel:

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
Marek Z.
Redaktor
Avatar
Odpovídá na Jan Demel
Marek Z.:

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
Redaktor
Avatar
Vojta Pšenák:

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 Čápka
Tým ITnetwork
Avatar
Odpovídá na Vojta Pšenák
David Čápka:

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
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Jan Demel
Redaktor
Avatar
Nahoru Odpovědět  +1 4.3.2014 11:24
To co se zdá být nemožné, je vždy možné.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Vojta Pšenák
David Čápka:

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  +1 4.3.2014 11:26
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Jan Demel
Redaktor
Avatar
Odpovídá na Vojta Pšenák
Jan Demel:

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
Redaktor
Avatar
Odpovídá na Vojta Pšenák
Petr Nymsa:

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.