Hirdetés
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
- Spórolós topik
- Feketelista, avagy a rossz boltok topicja
- PlayStation 5
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Fájhat Elon feje: mindjárt kész a Starlink-rivális
- Call of Duty: Warzone
- Kínai és egyéb olcsó órák topikja
- Telekom otthoni szolgáltatások (TV, internet, telefon)
- Formula-1
- Milyen egeret válasszak?
- További aktív témák...
- Xiaomi 15 Ultra Silver Chrome 120 Hz WQHD+ LTPO AMOLED, Leica 1 + 200 MP periszkóp 16/512 GB
- BESZÁMÍTÁS! MSI Katana15 HX B14WEK notebook - i7 14650HX 16GB DDR5 1TB SSD nVidia RTX 5050 8GB WIN11
- DELL PowerEdge R630 rack szerver - 2xE5-2650v3 (20 mag / 40 szál, 2.3/3.0GHz), 32GB RAM, 55992Ft+ÁFA
- Bomba ár! HP ProBook 450 G7 - i5-10GEN I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gar
- LG 34GN850P-B - 34" Ívelt Nano IPS - 3440x1440 - 160Hz 1ms - G-Sync - FreeSync - HDR 400
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


Visszakódolni nem lehet, csak brute force-szal próbálgatni.


