| | |
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 13.11.06 Prihlásený: 13.04.21 Príspevky: 169 Témy: 54 | Napísal dafo: 01.06.2011 10:30 | |
|
Zdrqavím potrebujem trošku pomocť. Je to istotne banalita no lamem si hlavu nad touto vecou uz skoro týždeň.
Mam v Mysql nahodenu databazu a potrbujem filtrovať nejake data pomocou
Citácia: <select name="obdobie"> <option value="9">Všetko</option> <option value="1">Leto</option> <option value="0">Zima</option> </select> $cas=$_POST['obdobie'] Ked dam filtrovať leto tak vypíše len udaje kde je v tabulke 1 ked zimu tak udaje kde je 0 . Toto funguje len ked dam všetko nezobrazuje nič. Tabulka obodobie v MySql je vyplnena len udajmi 1 a 0. Ako vyfiltrujem (resp. nevyfiltrujem) v SQL aby zobrazovalo riadky v tabulky s udajmi 0 a aj 1 teda pre zobrazenie <option value="9">Všetko</option> Citácia: 'SELECT * FROM benzin WHERE obdobie=$cas'
čo by malo byť obdobie=$cas' teda premnna $cas aku hodnotu aby to nefiltrovalo ?? skušal som to aj podmienkami ošetriť no nedari sa mi to spojazdniť
Snáď ste ma pochopili za rady ďakujem.
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
jednoducho tam tu podmienku nedas
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 13.11.06 Prihlásený: 13.04.21 Príspevky: 169 Témy: 54 | Napísal autor témy dafo: 01.06.2011 12:56 | |
|
cize spravim to nejako takto ?
Citácia: if($cas==9) { $cas=' ';} elseif ($cas==1) { $cas='obdobie=1';} else {$cas='obdobie=0';} a potom Citácia: 'SELECT * FROM benzin WHERE obdobie=$cas'
ešte sa len učím (večne) tak či sa to takto ma byť či sa to nejako inak myslelo ... som v praci nemam k dispozicii skript
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
nie tak celkom - ked si hodnotu premennej $cas, podla toho ako si to napisal, doplnis do toho sqlka, tak ti vzniknu nezmysly typu:
Kód: 'SELECT * FROM benzin WHERE obdobie=obdobie=1'
ty to musis spravit tak, aby sa pri vybere polozky Vsetko, cast "WHERE obdobie=$cas" v sqlku vobec nevyskytovala - kedze mas v db len 0 a 1, hodnotu stlpca obdobie nemusis kontrolovat, lebo ta zaujimaju vsetky data bez ohladu na to, ci je to 0 alebo 1
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 01.06.2011 13:17 | |
|
alebo zneuzijes sqlinjection
Kód: <select name="obdobie"> <option value="9 or 1=1">Všetko</option> <option value="1">Leto</option> <option value="0">Zima</option> </select>
|
|
Registrovaný: 13.11.06 Prihlásený: 13.04.21 Príspevky: 169 Témy: 54 | Napísal autor témy dafo: 01.06.2011 19:01 | |
|
coldak to sql injection som použil .... len potom my to nevyhladava dalsie podmienky (to som nespominal) ale dik aspon som si naštudoval čo to je ..... teraz sa trapim s podmienkami a skušam to to dalej
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 01.06.2011 19:12 | |
|
chybaju ti zatvorky:)
|
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
radsej si mu nemal ukazovat taketo veci, lebo to zacne pouzivat vsade a zbytocne neuvazene
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 01.06.2011 19:33 | |
|
ale to je jeho problem, upozornil som ze je to sqlinjection , je na nom ako sa ktomu postavi.
|
|
Registrovaný: 13.11.06 Prihlásený: 13.04.21 Príspevky: 169 Témy: 54 | Napísal autor témy dafo: 01.06.2011 19:56 | |
|
sql injection je len finta a v podstate je to ako zneuživanie chyby systemu (ak som správne pochopil teoriu večnej pravdy) .... tak teraz som to dodumal a popísal asi 2 x A4 kým som na to prišiel a funguje to .... tak len pre kontrolu resp. ak by to niekomu pomohlo kto to riešil a brazdil toto forum (ale hlavne čo poviete na taketo riešenie)
najskor formulare
Kód: <select name="nadrz"> <option value="9">Všetko</option> <option value="1">Plna</option> <option value="0">Čiastocne</option> </select> <select name="vif"> <option value="9">Všetko</option> <option value="1">ano</option> <option value="0">nie</option> </select> <select name="obdobie"> <option value="9">Všetko</option> <option value="1">Zima</option> <option value="0">Leto</option> </select> teraz podmienky Kód: if ($_POST['obdobie']==9) {$gumy='';} elseif ($_POST['obdobie']==1) {$gumy='gumy=1 AND';} else {$gumy='gumy=0 AND';} if ($_POST['vif']==9) {$vif='';} elseif ($_POST['vif']==1) {$vif='vif=1 AND';} else {$vif='vif=0 AND';}
if($_POST['nadrz']==9) {$nadrz='';} elseif ($_POST['nadrz']==1) {$nadrz='nadrz=1';} else {$nadrz='nadrz=0';} a nakoniec MySQL príkaz Kód: "SELECT * FROM benzin WHERE $gumy $vif $nadrz ORDER BY km DESC" mne trpakovi nedošla jedna vec (nechapem ako ale dookola som robil stale to iste) a bolo to toto Kód: 'SELECT * FROM benzin WHERE obdobie=obdobie=1'
už som tie podmienky mal spravené pekne len stale som tam písal $cas='obdobie=1'; vďaka za radu
o bezpečnosť a podobne veci mi nejde robím si to sám pre seba a bude to max. niekde na nete zašite alebo len na localhoste ale akékoľvek pripomienky resp. vylepšenia uvítam
P.s.: možem sa začať trapiť s updatovaním dát v MySQL pomocou PHP
|
|
Registrovaný: 29.10.08 Prihlásený: 30.07.12 Príspevky: 933 Témy: 2 | Napísal coldak: 01.06.2011 20:17 | |
|
ak ti nejde o bezpecnost
Kód: <select name="nadrz"> <option value="9 or 1=1">Všetko</option> <option value="1">Plna</option> <option value="0">Čiastocne</option> </select> <select name="vif"> <option value="9 or 1=1">Všetko</option> <option value="1">ano</option> <option value="0">nie</option> </select> <select name="obdobie"> <option value="9 or 1=1">Všetko</option> <option value="1">Zima</option> <option value="0">Leto</option> </select>
Kód: "SELECT * FROM benzin WHERE (obdobie = $obdobie) and (vif=$vif) and (nadrz=$nadrz) ORDER BY km DESC"
|
|
| Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Mazanie riadkov cez PHP v MySQL v PHP, ASP | 6 | 807 | 12.02.2012 14:26 pepo808 | | Editacia data mysql tabulke cez php v PHP, ASP | 6 | 1471 | 30.12.2009 17:46 noff | | Problém s prihlásením do MySQL cez PHP v PHP, ASP | 9 | 469 | 16.09.2013 13:50 zuffik | | datetime column a triedenie, MySql v Databázy | 5 | 371 | 25.04.2013 12:52 baumax | | mysql - triedenie výsledkov po slovensky v Databázy | 5 | 1239 | 21.01.2010 11:52 Merlin_sk | | PHP programátor - PHP, MySQL, jQuery,X)Html/CSS v Ponuka práce | 0 | 1310 | 02.05.2011 12:08 magicmedia | | php ->mysql ->php Help.zoradit v PHP, ASP | 4 | 593 | 20.06.2009 12:44 KViki | | php+apache+mysql v Ostatné | 13 | 1295 | 06.07.2009 11:37 Ďuri | | Programátor PHP/MySQL v Ponuka práce | 0 | 838 | 23.10.2010 17:06 brownsro1 | | PHP a MySQL v PHP, ASP | 4 | 386 | 23.09.2013 23:50 shaggy | | MySQL a PHP v Databázy | 9 | 867 | 27.12.2015 0:33 Werus | | MySQL + PHP + články v PHP, ASP | 7 | 616 | 17.10.2014 18:30 Jarvix | | PHP a MYSQL v PHP, ASP | 4 | 601 | 10.06.2011 23:12 Sunnynko | | PHP a MySQL [ Choď na stránku: 1, 2 ] v PHP, ASP | 30 | 2133 | 12.01.2009 13:09 jtomcik | | mysql + php problem v PHP, ASP | 3 | 683 | 21.04.2007 14:08 lukasmakac | | PHP, MySQL koder v Ponuka práce | 1 | 902 | 12.07.2010 19:50 Murtagh |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|