Valaki rá tudna nézni a searchboxomra?
Első blikkre megint elgépelted:
Bár gondolom ehhez tartozott egy hibaüzenet is, mert ha ideáig eljut akkor visít a php, hogy nem találja a függvényt. :)
Ez mi?
if (!isset($q)) {
echo '';
}
Nincs is $q definiálva sehol...
Tehát ha nem létezik a $q akkor kiiírja a semmit. És mivel az sohasem létezik, így mindig semmit ír ki. Ezt melyik fenomenális videóban mutatták? :D
Ilyet pedig nem csinálunk:
SELECT * FROM products WHERE title LIKE '%$q%' OR description LIKE '%$q%'
A keresőmezőn keresztül ki lehetne törölni a products tábla teljes tartalmát sql injection-el.
Nem úgy volt, hogy valaki segít? (tegnap azt írtad.)
Ha ez volt a segítség, akkor keress valakit aki már látott php kódot. :D
Figyi. Inkább átírtam. Könnyebb, mint a 30 hibát kijavítani. :)
Próbáltam benne több megjegyzést is tenni hogy érthető legyen. Van benne példa az osztály létrehozásra, privát/publikus adattagra, példányosításra, prepared statement használatára, feltételvizsgálatra (pl hogy ha && feltétel van, akkor sorban előröl hajtja végre a vizsgálatot, így ha az első hamis, akkor a következőt már nem vizsgálja. ezért nem dob hibát arra mikor a $_GET['q'] értékét vizsgálom)
Szóval igyekeztem egy sokrétű példát összedobni. Persze kiemelném, a valóságban SOHA nem írunk ilyen ömlesztett kódot mert átláthatatlan. Viszont a szemléltetés kedvéért most nem lehetett elkerülni.
Ja és lemaradt a kép róla:
:D
nem definiált változó... (többek között ez az egyik hiba)
Oké, hogy nem érted a példát amit írtam (ezt gondoltam is, csal szerettem volna több technikát bemutatni, hogy lásd mit kell(ene) még elsajátítanod)
DE: legalább azt olvasd el amit mellé írtam. várj, idézem:
"ha && feltétel van, akkor sorban előröl hajtja végre a vizsgálatot, így ha az első hamis, akkor a következőt már nem vizsgálja. ezért nem dob hibát arra mikor a $_GET['q'] értékét vizsgálom"
Tehát mi a megoldás? :) mielőtt az értékét vizsgálod, megnézed, hogy létezik-e. Ha hamis, akkor ott megáll.
De ez ugye (egy része) az amit valaki megírt neked. Ez az egyszerűsített példa, ami önmagában működőképes lenne. Na ezt hogy sikerült elrontanod?
Gyakorlatilag a JS blokkba írt kódrész a megoldás. Amit a HTML-hez írtál az... azt nem is értem, minek raktad bele.
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!