- gban: Ingyen kellene, de tegnapra
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Perplexity Pro AI képszerkesztési limit -egy képgenerátor függő tapasztalatai
- sziku69: Fűzzük össze a szavakat :)
- sellerbuyer: Egy teljesen új platformot kapunk! Új korszak kezdődik?
- sellerbuyer: Milyen laptopot vegyek? Segítek: semmilyet!
- aquark: A ló túloldalán (Intel-AMD szivatás)
- sziku69: Szólánc.
- aquark: Jó platformer játékokat keresek!
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
Hirdetés
- Szemüveges topik
- Autóápolás, karbantartás, fényezés
- OLED TV topic
- Szelek helyett a nosztalgia szárnyán érkezik a SilverStone legújabb miditornya
- gban: Ingyen kellene, de tegnapra
- Kertészet, mezőgazdaság topik
- Nyíregyháza és környéke adok-veszek-beszélgetek
- Linux kezdőknek
- PlayStation 5
- Házi hangfal építés
- További aktív témák...
- 136 - Lenovo Legion Pro 7 (16IRX9H) - Intel Core i9-14900HX, RTX 4080
- Honor MagicBook 16 Ryzen 5 5600H 16GB 512GB FHD 144Hz
- Dell Latitude 5495 Full HD IPS Ryzen 5 pro 2500u Radeon Vega Mobile Gfx i5-8350u verő
- Samsung Galaxy S22 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy Watch6 LTE 44mm, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest