Hirdetés
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Fejhallgató erősítő és DAC topik
- Gaming notebook topik
- Milyen billentyűzetet vegyek?
- Milyen egeret válasszak?
- Milyen TV-t vegyek?
- Huawei MediaPad M5 - nagyot szól
- Micro Four Thirds
- Nvidia GPU-k jövője - amit tudni vélünk
- Házimozi projektorok, kiegészítőik és kialakítások haladóknak
Aktív témák
-
TotGe
csendes tag
Hmm, a jelszavas védelemre sztem az md5() függvényt használd: bármit bekódol egy 32jegyű hexadecimális kódba, és nem visszafejthető, mivel egy kódnak több forrása is lehet. A használat pedig egyszerű: az adatbázis a biztonság kedvéért nem a jelszót tárolja, hanem annak kódolt változatát, és belépésnél csak azt ellenőrzi le, hogy a küldött jelszó md5() kódja megegyezik-e az adatbázisban tárolttal. Így még te magad sem látod az illetők jelszavát, tehát a biztonság tökéletes. Csak regelésnél is már eleve a kódolt cuccot kell MySQL-nek küldeni tárolásra.
-
TotGe
csendes tag
Természetes, hogy az ember először megtervez egy formát, adatkezelési utat, de nem kell az alapokra hagyatkozni, mert mind a PHP, mind pedig a MySQL nagyon sokféle módon segíthet leegyszerűsíteni a dolgokat, és bár ehhez meg kell őket ismerni, megéri. Kisebb adatforgalom, egyszerűbb kezelés, és az egész csak gyorsabb lesz. Ráadásul a ref is olyan mindkét nyelvhez, ami jól érthető, könnyen olvasható.
Aztán jön a kedvenc részem, a hibakezelés:
- mi van, ha az adatbázis nem elérhető
- mi van, ha ki akarok törölni egy hozzászólást és üressé válik a téma, azt is szedje ki
- mi van, ha az illető nem írt be hozzászólást
- mi van, ha az illető olyat írt bele, amit nem kellett volna (html tageket pl.)
- mi van, ha link van benne, legyen-e valódi link, stb.
És az adminrendszer, ami nem ártalmas, mert bármilyen jó is a MySQL, csak egyszerűbb a hibákat helyben kezelni, például lehetőség a hozzászólások rendszergazdai módosítására, törlésére, áthelyezésére. Ugyanakkor a belépő interface elrejtése azok elől, akiknek nem kell látni. Satöbbi, satöbbi. És még mondják, hogy a fórumírás nem művészet. -
TotGe
csendes tag
Azért csinálom én inkább java-val, mert akkor ha egy oldalon van mondjuk 5 hozzászólás, akkor 5 hiddent kell betenned, a megfelelő értékekkel, ami azt is jelenti, hogy minden hozzászólást 2× küldesz el. Ez pedig fölösleges.
De ha már MySQL-t használsz, akkor meg ezen adatok átküldése duplán fölöslgeges, csak terheli az adatforgalmat, ha azonban a hozzászólások az adatbázisban kapnak egy ID-t, szal egy azonosító számot, akkor elég azt elküldeni például $QUERY_STRING-ben (? után), és a válasz megkreálásánál újból meghívni az adott adatokat a MySQL-ből.
Ha már használod, akkor használd is ki a lehetőségeit. -
TotGe
csendes tag
A másik dolog, hogy URL-be NE TEGYÉL hozzászólást, mert a hozzászólásban lehet space, az URL-ben nem. Bár az URL elkonvertálja %20-szá, még ha menne is a linkelés se mennél vele semmire, mert egy %20-akkal tűzdelt maszlagot adna vissza. Ez csak most jutott eszembe. Szal szerintem FORM és post metódus.
-
TotGe
csendes tag
Hmm, szerintem én azt csinálnám, hogy egy Javascriptet tennék linkbe, ami a megfelelő adatokat betenné egy form hidden mezőibe megfelelő nevekkel és post-olná. Ekkor nem kellene azzal vacakolnod, hogy a linkbe quote kerül, mert nem kerülhet. A post pedig átviszi az idézőjeleket (persze itt is vigyázni kell).
-
TotGe
csendes tag
Jah, és a következő:
Valszeg nem ISO-8859-2-es karakterkészletet használtál az oldalnál, akkor csinál ilyet. Sztem írd be a köv. taget a kód HEAD részébe:
<META HTTP-EQUIV=''Content-Type'' CONTENT=''text/html; charset=iso-8859-2''>
És mégegyszer mondom, szerintem felejtsd el azt az idézőjel idézőjelet, tegyél be helyette ASCII kódot, és idézőjel lesz belőle, csak a kódban nem fog zavarni.
"
(vagy ")-t tegyél be a HTML kódba, esetleg a hozzászólás tárolásánál cseréld az idézőjelet ki erre. Hajrá. -
TotGe
csendes tag
A quote-ok kiszedése legegyszerűbben a következőképpen működik:
$str = ereg_replace( ''[''']'', '''', $str );
Valszeg a smiley sem egyszerűen '':)'', mert gondolom a hosszab smileykat is ugyanúgy cseréli: '':[)]+'' De ha ilyesmiket akarsz tudni, akkor tudom ajánlani a PHP Manual hozzászólásait, ami nem csak heppből van ott, pontosan az ilyen gyakorta előforduló problémákra jelent gyógyírt:
http://www.php.net/manual/en/function.ereg-replace.php
Visszatérve az eredeti kérdésre, a tördeléssel a következő a probléma: a textarea tartalma direkt formázással kerül át MySQL-be, tehát nem HTML tagekkel lesz tördelve. Erre két megoldás van, az egyik ha eleve eltárolásnál, a másik ha kiiratásnál beteszel egy
$str = nl2br( $str );
függvényt, ami a new line-t brake-ké konvertálja. Ha vissza akarsz kapni egy tagek nélküli stringet, akkor pedig strip_tags() függvényt kell használni, ez visszacsinálja a fentit.
A strip_tags() fv.-t amúgy jó ha nem felejted el a tárolásnál sem használni, különben érhet olyan meglepetés például, hogy valaki a következő üzenetet írja :
<FONT SIZE=7>bla-bla</FONT> és egy ótvar nagy felirat jelenik meg a fórumodban.
A quote-okról még annyit, hogy lehet, hogy egyes emberek idézgetni akarnak, de egy összetettebb fórum nagyon sok helyen hibázhat ha idézőjelet kap, ezért a legjobb egyből kiszedni mindet. Vagy nagyon sok munka lesz a konvertálgatásokkal. Remélem hasznát veszed a fentieknek.
Aktív témák
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Luck Dragon: Asszociációs játék. :)
- Brogyi: CTEK akkumulátor töltő és másolatai
- Fejhallgató erősítő és DAC topik
- Kerékpárosok, bringások ide!
- Gaming notebook topik
- Milyen billentyűzetet vegyek?
- Milyen egeret válasszak?
- Milyen TV-t vegyek?
- Huawei MediaPad M5 - nagyot szól
- További aktív témák...
- Hp USB-C/Thunderbolt 3 dokkolók: USB-C Universal, G2, G4, G5, Hp Elite/Zbook- Thunderbolt 4 G4
- HIBÁTLAN iPhone 12 Mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3631,94% Akkumulátor
- Gamer PC-Számítógép! Csere-Beszámítás! R5 5500 / RX 6700XT 12GB / 32GB DDR4 / 512GB SSD
- 142 - Lenovo LOQ (15IAX9) - Intel Core i5 i5-12450HX, RTX 4060 (ELKELT)
- BESZÁMÍTÁS! Asrock B450M R7 3700X 16GB DDR4 512GB SSD RTX 2070 Super 8GB GameMax Aero Mini ECO 600W
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő


