Hirdetés

Keresés

Új hozzászólás Aktív témák

  • fordfairlane

    veterán

    válasz Sk8erPeter #3317 üzenetére

    Ez a része működik, átlátható, de F5-ös frissítésnél a legtöbb böngésző (Opera 9.64 pl. NEM) megkérdezi, ismét el szeretnénk-e küldeni a POST adatokat. És az elég gáz, ha még egyszer feltölti az adatbázist ugyanazokkal az adatokkal. Ezért is ajánlotta lezso6 a SESSION-ös trükköt. De az gond, hogy nem unsettelem sehol ezt a SESSION-be eltárolt értéket, pedig azt kéne, csak nem tudom, hol.

    Nem biztos, hogy teljesen átlátom a dolgot, de ha jól értem, itt egy egyszerű képfeltöltésről van szó, járulékos adatokkal, és az bonyolítja meg a helyzetet, hogy előnézeti képet is akarsz a felhasználónak produkálni. Én ezt úgy szoktam megoldani, hogy feltöltésnél létrehozok egy átmeneti adatbázis rekordot, amit véglegesítek, ha minden jó, és a felhasználó is leokézza. Ha Mégsem-et nyom,akkor törlök mindent. Másik megoldás, hogy jóváhagyásig sessionben tárolod az adatokat. Ennek tkp. nincs sok köze ahhoz, hogy hogyan strukturálod a kódodat, ez technikai kérdés. POST után ha az adatokat feldogozod, csinálni kell egy átirányítást.

  • lezso6

    HÁZIGAZDA

    LOGOUT blog

    válasz Sk8erPeter #3317 üzenetére

    Jade NE csak a session változót állítsd be, hanem azt is, hogy irányítson IS át ugyanoda, mert ez utóbbi nélkül télleg nem lehet sehova se rakni az unset()-et.
    Inkább leírom az egészet, nemtom eddig miért nem csináltam:

    session_start();

    if($_SESSION['siker']) {
    // tehát ez AKKOR fut le, ha már felvetted
    // a cuccokat az adatbázisba, és az átirányítás
    // miatt POSTmentes lett a lekérés, F5-re nem
    // küld újra semmit.

    // SIKER KIÍRÁSA

    $_SESSION['siker'] = false;
    // unset is lehetne, de tökmindegy... :)

    } elseif( JÓK AZ ELKÜLDÖTT ADATOK ) {

    // FELDOLGOZÁS

    $_SESSION['siker'] = true;
    header('Location', $_SESSION['PHP_SELF']);
    // nem fut tovább ugyebár, hanem elölről kezdődik,
    // de már NINCS POST...

    } else {

    // SIKERTELEN, HIBÁS, HIBAÜZENETEK, STB

    }

Új hozzászólás Aktív témák