Autor | Zpráva | ||
---|---|---|---|
Asdef Profil * |
#1 · Zasláno: 7. 8. 2008, 14:29:58
Čau, jak při práci v php zabráním znovuprovedení skriptu při kliknutí na zaktualizovat. Napadlo mě pouze použít cookies, ale to neni moc dobré (dají se smazat). Jde to i nějak jinak?
|
||
xxyy Profil * |
#2 · Zasláno: 7. 8. 2008, 14:59:41
Pokud máš knihu od Koska (Tvorba interaktivních webových aplikací), tak tam je tento problém řešen pomocí header a přesměrování.. najdi si např. skript delete.php..
http://www.kosek.cz/php/ukazky.zip |
||
roberta Profil |
#3 · Zasláno: 7. 8. 2008, 15:00:25
ja to robím tak, že po ukončení skriptu presmerujem na inú stránku, kde už užívateľ môže stláčať refresh koľko chce...
|
||
xxyy Profil * |
#4 · Zasláno: 7. 8. 2008, 15:06:19
Podívej se na to, co jsem poslal..ten skript, který danou akci provede pak přesměruje na jinou stránku, a není pak možný návrat zpět a znovuprovedení..
Je to v tom příkladu.. ... $path = SubStr($SCRIPT_NAME, 0, StrRPos($SCRIPT_NAME, "/"))."/info.php?status=$status&type=$type"; Header("Location:http://$SERVER_NAME:$SERVER_PORT$path"); ... |
||
Asdef Profil * |
#5 · Zasláno: 7. 8. 2008, 15:10:51
Aha, děkuji.
|
||
Asdef Profil * |
#6 · Zasláno: 7. 8. 2008, 15:11:37
A nestačí pouze použít
Header("Location:http://$SERVER_NAME:$SERVER_PORT$path"); |
||
xxyy Profil * |
#7 · Zasláno: 7. 8. 2008, 15:13:55
Ne, nestačí, kde bys pak vzal tu proměnnou path ? :) Zkus si to vyzkoušet a pochopíš..v manuálu PHP (nebo někde v knížce) si najdi, co jednotlivé funkce provádějí a pochopíš, mě to taky chvíli trvalo, ale už jsem to použil několikrát a výsledek se dostavil.. V tom příkladu od Koska je to aplikovaný v komplexním příkladu, což považuju za plus...
|
||
Asdef Profil * |
#8 · Zasláno: 7. 8. 2008, 15:15:06
samozřejmostí je zadání cesty místo
$SERVER_NAME:$SERVER_PORT$path |
||
xxyy Profil * |
#9 · Zasláno: 7. 8. 2008, 15:17:49
Myslíš, že to je tak jednoduchý ? To by tak jinak bylo v tý knížce uvedeno..má to svoje opodstatnění..myslím, že by to vyšlo nastejno, jako prosté
Header |
||
Časová prodleva: 16 let
|
0