Hirdeté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.
-
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
- Arc Raiders
- Android alkalmazások - szoftver kibeszélő topik
- Yettel topik
- Debrecen és környéke adok-veszek-beszélgetek
- One otthoni szolgáltatások (TV, internet, telefon)
- Milyen autót vegyek?
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Google Pixel topik
- eBay-es kütyük kis pénzért
- Elektromos cigaretta 🔞
- További aktív témák...
Állásajánlatok
Cég: BroadBit Hungary Kft.
Város: Budakeszi
Cég: ATW Internet Kft.
Város: Budapest


