Keresés

Aktív témák

  • TotGe

    csendes tag

    válasz biker #29 üzenetére

    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

    válasz TotGe #26 üzenetére

    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

    válasz biker #25 üzenetére

    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

    válasz biker #20 üzenetére

    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

    válasz biker #20 üzenetére

    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

    válasz TotGe #16 üzenetére

    Most megszivattam magam...

    első sor & # 146;

    a kettős idézőjel pedig: & quot; vagy $ # 34;

  • TotGe

    csendes tag

    válasz biker #14 üzenetére

    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

    válasz biker #14 üzenetére

    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