

ASP Response.Redirect pro metodu POST
Zdědil jsem ASP skripty na intranetu a formuláře jsou dělané metodou GET.
Problém je v tom, že původní předpoklad, že obsah polí bude krátký už neplatí a potřeboval bych to předělat na metodu POST. V ASP se bohužel moc neorientuju. Vím, že je potřeba změnit request.querystring na request.form, ale mám problém s tím, tak nahradit ve skriptu test.asp, který testuje obsah formuláře
Response.Redirect("add_update_and_delete.asp?smazat="&usubmit1& "&update="&usubmit2& "&zneplatnit="&usubmit3&)
abych to mohl předat data dál ze skriptu test.asp do skriptu add_update_and_delete.asp opět metodou opět POST.
Našel jsem řešení přes session a cookies, ale ani jednu z těchto věcí jsem nikdy nepoužíval a tak se v nich tak nějak ztrácím.
Nevíte ještě o nějakém jiném řešení, které by bylo pro laika průhlednější?
Nie som expert na asp ale IMHO namiesto redirectu na inu linku budes musiet zadefinovat formular (form) html_forms.asp ktory sa odosle uzivatelovi v HTML.
P.S. ak je nutne to predavat z jedneho skriptu do ineho tak to v ASP neviem (je to nutne robit viac skriptami?) ale skus si pozret default.asp je to celkom dobra stranka...
Děkuji za odpověď, ale toto neřeší můj problém.
Potřebuji mezi formulář odeslaný metodou POST a skriptem, který zapisuje do databáze vložit ještě jeden další skript v asp a po jeho dobrozdání, že je vše OK to poslat dále na ten skript, co to napíše do db. To vše metodou POST, protože zapisovaný text bývá delší jak povolených cca 2kB. U metody GET to fungovalo přes response.redirect.
Jde o to jestli to jde i jinak než přes session nebo cookie. Tyto postupy jsem našel, ale přiznám se, že jim moc nerozumím. Proto jsem se ptal jestli existuje i jiná možnost.
Ja viem co potrebujes, ja by som to nacpal do jedneho scriptu
Zhlavy neviem ako prenasat data medzi ASP sktriptami, tak ako by si si to predstavoval to ale nejde, POST/GET su na citanie dat od pouzovatela a nie z ineho skriptu. Pozri tu linku je tam popisane dost zrozumitelne zaklady aj ASP, session aj cookie, co sa tyka bezpecnosti treba si uvedomit ze cookie je na lokalnom PC (pouzivatelovom).
O prenasani dat medzi ASP skriptami som tam narychlo nic nenasiel ale pohladaj, resp. mozes porozumiet aj session aj cookies, je to tam popisane strucne a dost zrozumitelne.
no ak sa nemylim, tak redirect by nemal samovolne menit metodu(POST, GET), ktoru obdrzal. cize ked ako parameter metody redirect strURL pouzijes len domena_kde_sa_to_ma_presmerovat[script.asp], tak by sa data prijate z POSTu mali poslat dalej. treba ale odskusat.
[] - znamena volitelne
Nemal by, ale mení.
co som cital, tak to mozu sposobovat len starsie prehliadace, ktore nepodporuju http 1.1. ale ak mas prakticke skusenosti, tak sa nehadam.
Mám praktické skúsenosti.
edit: resp. keď pošleš 307 Temporary redirect, tak sa prehliadač spýta, či má odoslať údaje z formulára ďalej. Ale je to otravné a každý aj tak používa na redirect 302.
To, že by to bylo tak jednoduché mě nenapadlo. Díky vyzkouším to. Za pokus se nic nedá.
Response.Redirect vyzerá tak, že server pošle odpoveď prehliadaču, že choď na túto stránku, pričom v tej odpovedi je iba adresa a žiadne dáta z formulára. Prehliadač potom ide na tú stránku a pôvodné dáta z formulára neposiela, takže ich musíš spracovať vtedy, keď ich pošle. Použiť cookies alebo session sa síce dá, ale nie je to ideálne.
Najlepšie je to spraviť tak, že to spracuješ priamo na tej stránke.
Prípadne si pozri metódy Server.Transfer a Server.Execute, ktoré odovzdávajú riadenie medzi skriptami priamo na serveri. Server.Transfer odovzdá riadenie druhému skriptu a v pôvodnom skripte ďalej nepokračuje. Server.Execute vykoná volaný skript a pokračuje ďalej vo vykonávaní pôvodného skriptu.
To by taky mohlo jít.
Díky všem za tipy.
Ja robím pod ASP, Server.Execute som ešte nepoužíval, ale používam - SERVER.TRANSFER. Rozdiel medzi EXECUTE a TRANSFER je v tom, že po volaní EXECUTE IIS pokračuje v stránke - dočíta ju do konca, kdežto TRANSFER ukončí po presmerovaní dočítanie - je to niečo ako REDIRECT s rozdielom, že sa nezmení URL adresa. Dúfam, že som to dobre napísal, dneská fetujem - mysľou.