Aktív témák
-
-
Lortech
addikt
válasz
Briganti #1198 üzenetére
Mi az akadálya annak, hogy a 3. 4-es alapján rendezz.
SELECT * FROM materia WHERE cod LIKE '$cod%' ORDER BY SUBSTRING(cod,8,4) DESC;
Ha nálad nem megy ez, akkor írd le, mi a hiba. mysql_error() stb.
Másik megoldásnál: Nem kell szétszedned 4-esekre, a meglévő kód maradhat úgy, ahogy van, és beszúrsz egy új mezőt a táblába, ahol csak a rendezés alapját képező 4-számjegy áll, és azalapján rendezel. -
Lortech
addikt
válasz
Briganti #1194 üzenetére
Azt gondoltam, hogy nem megy, de miért nem? Mert nekem elsőre ment.
csak nem kapom meg en a teljes cod reszletet, es nemtudom az order by -ba azt irtni hogy substr($cod,8,4)
Ezt nem egészen értem, illetve többféleképpen is tudnám értelmezni. Valami egzaktabb nyelvezettel le tudnád írni? Esetleg példával szemléltetve.
[Szerkesztve] -
Lortech
addikt
válasz
paramparya #1188 üzenetére
Akkor jó. Régebben belefutottam ebbe, és mintha csak innodb akarta volna az igazat. Azóta biztos változott a helyzet.
-
Lortech
addikt
válasz
Forest_roby #1077 üzenetére
Resettelned kell az aktuális sormutatót, ha többször akarod ugyanazt a resultot fetchelni.
pl mysql_data_seek($result); hatására az első eredménysorra fog mutatni.
Mondjuk a példád szerint működnie kéne. Ha több eredménysor van, és az elsőt kiveszed, attól még a whilenak mennie kell a 2.-kal kezdődően. -
Lortech
addikt
válasz
woodpaul #851 üzenetére
Sőt, már az lenne a legjobb, ha a böngésző kódolná javascripttel, és azt adná tovább, így még sniffeléssel se lehetne csak a hasht megszerezni.
DeMD5 értelemszerűen nincs.Visszakódolni nem lehet, csak brute force-szal próbálgatni.
Bitzonságra: Az összes bemenő adatot nagyon jól át kell gondolni, le kell ellenőrizni, a legalattomosabb és leghülyébb usert feltételezve. Gyakori hiba , hogy különböző admin scripteket csak annyival védenek le, hogy csak admin felületen lehet rábökni, de ha egy akármilyen user találomra beírja, hogy deletealltable.php, vagy showallpassword.php, akkor bukta van -
Lortech
addikt
Session id az a session azonosítója.
Kliens oldalon egy cookie testesíti meg, ami tárolja az id-t. Ezt a cookie-t és vele az id-t a kliens minden oldallekéréskor küldi a szervernek, a szerver pedig azonosítja az id alapján a sessiont. Mivel azonosítva van a session, az ehhez rendelt változókat php-ből kényelmesen el tudod érni. Ha nagyon ''advanced'' akarsz lenni, akkor csinálhatod a session kezelést kézzel is, de értelmét nem látom a te esetedben. Hangsúlyozom, a session kezelés automatikus, nem neked kell küldeni az id-t, neked annyi a dolgod, hogy elindítod a session-t, aztán kiveszel, beteszel, amit akarsz. Logout-nál meg lezárod a sessiont.
[Szerkesztve] -
Lortech
addikt
Belépés után csak sessionid-t, a user nevét és a jogokat tárolom el egy mysql táblában, és csak az id-t küldöm session-nal.
Lehet, hogy ezt elírtad-e vagy félreértem, de ennek mi értelme? Arra van a session, hogy a hozzá tartozó adatokat ott tárold el, ne kelljen szüttyögni adatbázissal. Minden egyes lekérésnél nevet beolvasni teljesen felesleges terhelés a szervernek, azontúl, hogy bonyolítás is. -
Lortech
addikt
$sor = mysql_fetch_array($adatb);
A mysql_fetch_array fgv egy asszociatív tömböt ad vissza, így ennek a sornak nincs sok értelme szerintem. Vagy azt akarod megtudni, hogy lett-e egyáltalán eredmény? Mert ha igen, akkor azt vizsgáld meg inkább, hogy igaz-e.
tehát pl. if ($sor = mysql_fetch_array($adatb))
Észrevételek: ha loginról van szó, akkor a lekérdezésben usernévre és jelszóra keress, ne csak userre, így egy lépésben megúszod.
Így ha lett pontosan egy row eredmény, akkor login. Meg így feleslegesen nem nyalja be az adatokat az adatbázisból, csakha ténylegesen fel is lesz használva, tehát ha jó a user/pass. Bár ez elhanyagolható.
A jelszó pedig legalább egy md5()-tel legyen bekódolva (már regisztrációkor úgy teszed be adatbázisba), mert én személy szerint nem szeretnék olyan oldalon regelni, ahol egy adatbázislopással többszáz/ezer jelszót (köztük az enyémet) megszerezhetnek. -
Lortech
addikt
-
Lortech
addikt
De mégis mit vársz vissza? Az insert egy művelet, nem lekérdezés, nincs eredménye, felesleges eltárolni változóban a queryt. Minden művelet után írj egy or die-t hibaüzenettel, vagy pl or die(mysql_error());
Így láthatod ha valami gubanc volt, ha nem ír ki semmit akkor lefutott az inserted és elvégezte a műveletet. -
Lortech
addikt
Mivel az adatbázisterved el van szúrva, csak favágó módszer(em) van. Ezért olyan fontos a tervezés és az elmélet.
SELECT * FROM dvd_filmek WHERE hossz LIKE '9_ perc' OR hossz LIKE '10_ perc' OR hossz = '110 perc'
Ezzel nyilváán az a baj, hogy nem csak számokra működik, hanem pl 9z percre is. Másik -szintén gyenge- megoldás lehet pl WHERE hossz IN ('90 perc','91 perc',...,'110 perc').
Aktív témák
Hirdetés
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- Peugeot, Citroën topik
- Milyen házat vegyek?
- Samsung Galaxy S25 Edge - a tegnap határán
- Ventilátorok - Ház, CPU (borda, radiátor), VGA
- Mobil flották
- Linux kezdőknek
- Milyen egeret válasszak?
- Kettő együtt: Radeon RX 9070 és 9070 XT tesztje
- Kerékpárosok, bringások ide!
- További aktív témák...
- LG 55G3 - 55" OLED evo - 4K 120Hz 0.1ms - MLA - 2000 Nits - NVIDIA G-Sync - AMD FreeSync - HDMI 2.1
- LG 24GQ50F-B - 24" VA / 1920x1080 FHD / 165Hz 1ms / AMD FreeSync Premium / Adaptive Sync / HDR 10
- Samsung Galaxy Tab S6 Lite / 4GB RAM 64GB / Független / 12 Hó Garancia
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Gigabyte A520 AORUS R5 5500 16GB DDR4 512GB SSD RX 6600 XT 8GB Rampage SHIVA TT 500W
Állásajánlatok
Cég: FOTC
Város: Budapest