- 5.1, 7.1 és gamer fejhallgatók
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen processzort vegyek?
- Milyen nyomtatót vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Meghalt a Windows 10, éljen a Windows 10!
- Sony MILC fényképezőgépcsalád
- Vezetékes FEJhallgatók
- Milyen billentyűzetet vegyek?
Ú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
- GAMING PC! Ryzen 7 5800x , Radeon RX6700XT, 32Gb RAM
- ASUS VZ24EHE 1080p / 75Hz / 60cm (23,8") IPS /1ms válaszidő / Gamer funkciók / FreeSync
- MSI MECH 2X RX 6600 XT - eladó!
- Újszerű Topping D10s - USB DAC 32bit 384KHz DSD256
- PCLab Pro P-689 Ryzen 7 9700x / 32GB DDR5 / RTX 5070 - halk, prémium 1440p/4K gamer PC
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- HIBÁTLAN iPhone 15 Pro Max 256GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3004
- Újszerű Dell Latitude 7440 -14"FHD+1 IPS - i5-1345U 16GB - 512GB - Win11 - 1 év garancia + Dokkoló +
- Csere-Beszámítás! Garis! Asus Tuf FX608H Notebook! I5 13450HX / RTX 5050 8GB / 16GB DDR5 / 1TB SSD
- BESZÁMÍTÁS! Gigabyte Aorus B450 R7 5700X 16GB DDR4 512GB SSD RTX 3060Ti 8GB ZALMAN I3 NEO 650W
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: NetGo.hu Kft.
Város: Gödöllő