Do nového roku jako lepší programátoři? Znovu otevíráme večerní školu programování. Nette framework, návrhové vzory, testování nebo vůbec poprvé kurzy ASP.NET dostupné odkudkoli v republice.
Avatar
Marek Burda
Člen
Avatar
Marek Burda:

zdravím neviete prečo pri logine nedokáže spracovať where v selecte ? Po veľa testcoh sme prišli nato že chby musí byť vo where. $meno a $heslo máme identifikované... všetko sa zobratzuje správne Ďakujem za pomoc

$sql_dotaz = "SELECT * FROM tz_members WHERE meno = '".$meno."' AND heslo = '".md5($heslo)."';";
 
Odpovědět  +1 17.9.2015 20:41
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Marek Burda
IT Man:

Není chyba v názvech sloupců? Hodil by se výpis chyby. :)
Btw. je velmi nebezpečné vkládat proměnné přímo do dotazu. Lepší by bylo používat PDO (třeba i wrapper ze zdejších manuálů). K bezpečnosti: http://www.itnetwork.cz/…ion-a-obrana

Nahoru Odpovědět  +2 17.9.2015 20:49
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
Odpovídá na Marek Burda
Michal Štěpánek:

A k čemu tam jsou ty dva středníky?

...md5($heslo)."';";
Nahoru Odpovědět 17.9.2015 23:12
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
IT Man
Redaktor
Avatar
Odpovídá na Michal Štěpánek
IT Man:

Zda to chápu správně, jeden patří k MySQL dotazu a druhý k PHP kódu. Ten pro MySQL je ale zbytečný. :?

Nahoru Odpovědět 18.9.2015 6:26
Když nevíš jak dál, podá ti ruku někdo, od koho by jsi to nečekal. A tu šanci musíš přijmout!
Avatar
Odpovídá na Marek Burda
Michal Štěpánek:

Hodí to nějakou chybu, nebo se jen nevypíše nic?

Nahoru Odpovědět 18.9.2015 9:38
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Marek Burda
Honza Bittner:

Zkoušel jsi nahradit PHP za normální text, tedy to zadat napevno?

Nahoru Odpovědět 18.9.2015 10:15
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Yahkem
Redaktor
Avatar
Yahkem:

Nevím, co používáš za typ databáze (předpokládám MySQL), ale zkus

WHERE meno = '".$meno."' AND heslo = '".md5($heslo)."'

nahradit za

WHERE meno LIKE '".$meno."' AND heslo LIKE '".md5($heslo)."'

Může i záležet na tom, jestli hesla v db ukládáte jako char, nebo binary - v tom případě by se mělo porovnávat heslo rovnítkem.

A BTW, není to náhodou parádní SQL injekce? :)

Editováno 18.9.2015 10:38
 
Nahoru Odpovědět 18.9.2015 10:35
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 7 zpráv z 7.