alkalmazás struktúra - a klasszikus adatok újraküldése probléma
Sziasztok!
Problémám a kövezkező lenne:
Írtam egy webes alkalmazást, amely a tartalmakat dinamikusan generálja az index.php-ben.
Refresh-nél ugyebár előugrik a kis ablak, hogy a firefoxnak újra kell küldenie az adatokat.
Olvastam, hogy ezt a header(location..)-el lehet megoldani, de az Istenért sem sikerül megfelelően.
Ha ugyebár magára az index.php-re irányítom át az oldalam hibaüzenetet kapok, hogy nem hajtható végre (ezt meg is értem).
Gyanítom, hogy az alkalmazásomat kellene átstruktúrálni, csak szeretnék valami támpontot, hogy merre induljak, mi a bevett gyakorlat?
Az alkalmazás eddig így működik:
Bejelentkezésnél ugyebár post-tal elküldöm az adatokat, ha ezek átmennek az autentikáción akkor az újra betöltődött index.php body-jában már a beléptető ablak helyett már a felhasználói felületet tölti be.
Ennek a megoldása még talán ok is lenne, ha áttenném az utóbbit egy külön fájlba(mondjuk egy main.php-ba) és oda irányítanám át sikeres auth esetén.
Ami nagyobb fejtörést okoz az az alkalmazás belsejében lévő formok elküldése, ezeket hova irányítsam ahol feldolgozza a postot?(ha magára az oldalra akarom irányítani akkor újfent hibaüzenetet kapok).
Hogy kellene kinézzen egy ilyen adminfelület szerű alkalmazás struktúrája?
Bár nincs szükség refreshelgetésre, mégsem szeretném, hogyha a gyanútlan user kétszer küldene fel egy hírt az oldalra (mégha az könnyen törölhető is), azért mert frissítette az oldalt.
Előre is köszi a segítséget!
Üdv.: Nu7ec
■ Problémám a kövezkező lenne:
Írtam egy webes alkalmazást, amely a tartalmakat dinamikusan generálja az index.php-ben.
Refresh-nél ugyebár előugrik a kis ablak, hogy a firefoxnak újra kell küldenie az adatokat.
Olvastam, hogy ezt a header(location..)-el lehet megoldani, de az Istenért sem sikerül megfelelően.
Ha ugyebár magára az index.php-re irányítom át az oldalam hibaüzenetet kapok, hogy nem hajtható végre (ezt meg is értem).
Gyanítom, hogy az alkalmazásomat kellene átstruktúrálni, csak szeretnék valami támpontot, hogy merre induljak, mi a bevett gyakorlat?
Az alkalmazás eddig így működik:
Bejelentkezésnél ugyebár post-tal elküldöm az adatokat, ha ezek átmennek az autentikáción akkor az újra betöltődött index.php body-jában már a beléptető ablak helyett már a felhasználói felületet tölti be.
Ennek a megoldása még talán ok is lenne, ha áttenném az utóbbit egy külön fájlba(mondjuk egy main.php-ba) és oda irányítanám át sikeres auth esetén.
Ami nagyobb fejtörést okoz az az alkalmazás belsejében lévő formok elküldése, ezeket hova irányítsam ahol feldolgozza a postot?(ha magára az oldalra akarom irányítani akkor újfent hibaüzenetet kapok).
Hogy kellene kinézzen egy ilyen adminfelület szerű alkalmazás struktúrája?
Bár nincs szükség refreshelgetésre, mégsem szeretném, hogyha a gyanútlan user kétszer küldene fel egy hírt az oldalra (mégha az könnyen törölhető is), azért mert frissítette az oldalt.
Előre is köszi a segítséget!
Üdv.: Nu7ec
ha csinálsz egy oldalt ami
és ez még mindig nem oldja meg azt, ha véletlen (véletlen?) kétszer (többször?) postolja a formot. inkább egy ellenőrzést kéne írni, hogy ne tudja kétszer beküldeni, és akkor már újratöltögethet bármit :)
vagy neadjisten a formot beküldésnél ajax-al küldöd be és a form helyére ajax-al kirakod az eredményt... azt is reloadolhatja nem fogja újra elküldözgetni (de ellenőrzést így is kéne)
Isset
ez az ellenörző fájlban:
köszi szépen...
Szeretném az egészet amennyire lehet "pure" php-ban megoldani, ezért nem akarok ajax-ot belevinni. Az lesz majd bőven a frontenden, de az admin felületnél nem akarom.)
Sessionben szintén nem szeretném tárolni a bejelentkezés adatait, az maradjon csak az objektum private változójába zárva.
Igazából amire kíváncsi voltam az az, hogy hogyan alakítsam az alap struktúrát az újraküldés elkerüléséhez.
A következő megoldás született:
Az index.php csak az oldal belépési pontja lett, innen irányítom át bejelentkezéskor az alkalmazás kezdőoldalára. A menüben kiválaszthatja a user a megfelelő oldalt(természetesen minden oldal elején autentikáció, ha valami nem stimmel akkor vissza->index.php). Itt már minden oldal külön fájl. Az alkalmazás formjainak feldolgozásakor pedig átirányítom egy oldalra amely a kimeneteket kezeli. A formokból bepostolom az üzenet típusát(az alkalmazás melyik oldaláról jött) és az annak megfelelő template-et töltöm be az oldalba, így megoldottam az újraküldési problémát is.
Röviden ennyi.
Azért köszi mégegyszer!
Üdv.: Nu7ec