Avatar billede posteren Nybegynder
27. januar 2001 - 13:13 Der er 48 kommentarer

Redirect med post

Hej Eksperter,
Jeg har brug for at sende en bruger videre til en anden side og poste det indhold der er på den pågældende side:

Brugeren udfylder data fra:
www.jubii.dk/post.asp

-->>>> post.asp har en action=reg.asp

-->>>>reg.asp tæller en op og sender brugeren videre via en redirect til www.minserver.dk/gemdata.asp hvor det hele gemmes.

Hvordan laver jeg en redirect hvor dataen i request.form kommer med (og ikke kommer i questringen)

Avatar billede tdaugaard Nybegynder
27. januar 2001 - 13:16 #1
Det kan du ikke!
Avatar billede posteren Nybegynder
27. januar 2001 - 13:17 #2
det vil jeg!
Avatar billede posteren Nybegynder
27. januar 2001 - 13:17 #3
det kan man da i php!?!?!
Avatar billede tdaugaard Nybegynder
27. januar 2001 - 13:18 #4
posteren:> det er da ikke \"ASP\"\'s problem om du vil eller ej du KAN BARE IKKE I ASP!!!
Avatar billede posteren Nybegynder
27. januar 2001 - 13:21 #5
så må jeg jo lave det i et andet sprog....

kan man i cgi, php eller andet - spørger jeg så ;-)
Avatar billede tdaugaard Nybegynder
27. januar 2001 - 13:23 #6
det ved jeg, ikke .. måske CGI .. det ville være mit bedste bud på et sprog hvor det ville lykkedes (altså noget Perl sjov.)
Avatar billede posteren Nybegynder
27. januar 2001 - 13:25 #7
Men der findes da komponenter til at poste til en server og hente indholdet ned, hvorfor findes der så ikke komponenter til at poste brugeren et sted hen??
Avatar billede tdaugaard Nybegynder
27. januar 2001 - 13:43 #8
Tjae spørg ikke mig! Det er ikke mig der laver komponenterne..
Avatar billede eagleeye Praktikant
27. januar 2001 - 13:45 #9
Der kan vel laves med FORMs
Avatar billede posteren Nybegynder
27. januar 2001 - 13:47 #10
FORMs ??
Avatar billede tdaugaard Nybegynder
27. januar 2001 - 13:48 #11
eagleeye:> han vil redirecte I ASP (eller et andet sprog) men vil sende form data med der er POST\'ed og stadig lade dem være POST\'ed.
Avatar billede eagleeye Praktikant
27. januar 2001 - 13:50 #12
Hvis man laver et felt HIDDEN kan det så ikke bruges?
Avatar billede posteren Nybegynder
27. januar 2001 - 13:50 #13
...eller poste dem fra ny - ved hjælp af run.at.server sprog
Avatar billede eagleeye Praktikant
27. januar 2001 - 13:55 #14
Det er måske ikke helt korrekt løsing.
Men hvis man gemmer POSTed felter i HIDDEN FORM fields og så POST\'er dem igen når man går vider.
Ville det ikke kunne benyttes.
Avatar billede posteren Nybegynder
27. januar 2001 - 13:56 #15
nope... det skal være server-site-scripting
Avatar billede erikjacobsen Ekspert
27. januar 2001 - 18:12 #16
Hvad med at lade reg.asp tælle op, hvad den nu skal tælle op.
Og samtidig trække alle data ud af form-felterne og putte dem i
session-variabler. Så laver du en response.redirect til gemdata.asp,
der aflæser session-variablerne, og gør hvad den nu skal gøre.

Du kan alternativt lave den redirection ved at putte værdierne fra formen ind
som parametre i URL-en, hvor gemdata.asp så skal kigge efter dem.

Men hvorfor kombinerer du ikke bare de to filer på serversiden med
f.eks. includes? Er det fordi de ligger på forskellige servere?
Avatar billede posteren Nybegynder
27. januar 2001 - 19:58 #17
Det er fordi der er tale om forskellige servere.

Det er et rich-media banner system, som også skal kunne tælle klik på bannere der indholder en form med method=post.
Avatar billede kasseper Nybegynder
28. januar 2001 - 12:23 #18
Jeg tror godt at det kan laves, ved at \'snyde\' lidt....Laver lige et eksempel...!
Avatar billede kasseper Nybegynder
28. januar 2001 - 12:34 #19
Hovedsagen er vel at du skal igennem din reg.asp fil, før at du ender på www.minserver.dk/gemdata.asp...!
og at du på \'gemdata.asp\' kan få dine værdier fra www.jubii.dk/post.asp med et request.form(\"felt1\")...?

SÅ kan du bruge denne :
Jeg har her kaldt felterne for felt1 og felt2, du kan bare ændre navne...

Husk at jeg har ikke testet skidtet, så du må lige melde tilbage....



i din reg.asp fil :
**************************************
<%
dim felt1
felt1 = request.form(\"felt1\")
dim felt2
fel2 = request.form(\"felt2\")
\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'\'
Her kan du lave din optælling...!
%>
<html>
<head>
</head>
<body>
<form name=\"next\" action=\"http://www.minserver.dk/gemdata.asp\" method=\"post\">
<input type=\"hidden\" name=\"felt1\" value=\"<%= felt1%>\">
<input type=\"hidden\" name=\"felt2\" value=\"<%= felt2%>\">
</form>
<script>
document.next.submit();
</script>
</body>
</html>

Avatar billede posteren Nybegynder
28. januar 2001 - 12:35 #20
Kommentar fra eagleeye 
27/01 2001 13:55:11    Det er måske ikke helt korrekt løsing.
Men hvis man gemmer POSTed felter i HIDDEN FORM fields og så POST\'er dem igen når man går vider.
Ville det ikke kunne benyttes.   

  Kommentar fra posteren 
27/01 2001 13:56:53    nope... det skal være server-site-scripting 
Avatar billede kasseper Nybegynder
28. januar 2001 - 12:38 #21
begrundelse..?
Avatar billede posteren Nybegynder
28. januar 2001 - 12:42 #22
der er sådan set ingen begrundelse for at dit svar ikke svarer på mit spørgsmål.
Jeg ønsker server-site-scripting fordi at brugeren ikke skal kunne klikke \"back\" i sin browser og så poste 1 gang til.
Men uanset hvad skal det være server-site-scripting - og det er dit ikke!
Avatar billede kasseper Nybegynder
28. januar 2001 - 12:48 #23
Det var nu ikke for at høre hvorfor at mit svar ikke, var ok, men mere for at finde ud af hvorfor det skulle være server-site. Det svarede du på....Så det er fint;) Det var mere så man måske kunne tilbyde nogle alternative løsninger, men det kan man først når man kender sagens kerne....
Jeg fik ikke lige læst eagleeye\'s svar, sorry..!

På trods af at man først submitter også redirekter, vil man da altid kunne komme tilbage til www.jubii.dk/post.asp og sende data igen...?eller hva ?

Kunne man ellers ikke løse problemet ved at lægge http://www.minserver.dk/gemdata.asp i action i www.jubii.dk/post.asp, og i onSubmit åbne et lille pop_up, som indeholder reg.asp, og som lukker med det samme igen ???


Avatar billede posteren Nybegynder
28. januar 2001 - 12:51 #24
nej det bliver noget ged.

Det skal laves prof - det kan ikke passe at der ikke findes en komponent til det, når der findes flere til at poste til en server og hente indholdet, skulle det undre mig meget hvis der ikke er lavet til en slags \"redirect med postning\"

Det skal bruges til et stort banner system, så det duer ikke med pop-upper og andet \"fusk\".
Det jeg egentlig er ude efter er en komponent der kan det, hvis man da ellers kan få den.
Avatar billede kasseper Nybegynder
28. januar 2001 - 12:57 #25
Jamen så kan din optællings rutine fra reg.asp filen vel laves i global.asa\'s Session_onEnd procedure...Hvis altså at formen i post åbnes i samme browser, og det lader det jo til ..?
Avatar billede kasseper Nybegynder
28. januar 2001 - 12:58 #26
Den session der er åbnet på www.jubbi.dk/post.asp bliver jo forladt, når du hopper over på http://www.minserver.dk/gemdata.asp, dv.s Sesssion_onEnd bliver trigget...?
Avatar billede posteren Nybegynder
28. januar 2001 - 13:01 #27
det forstår jeg ikke noget af.

Du har en banner på server 1 - den indeholder en form.

Der klikkes - server 1 tæller 1 klik op via en optælling og redirecter med post dataen til server 2
Avatar billede kasseper Nybegynder
28. januar 2001 - 13:04 #28
Nej der er ikke noget med redirect, det kan ikke lade sig gøre uden et andet komponent....
Der findes et banner på server1, den indeholder en form.....FOrmen udfyldes og man klikker submit, i action på server1 formen står der http://www.minserver.dk/gemdata.asp, dvs. vi kommer direkte til din side, uden at tælle op.....
MEN når www.jubbi.dk/post.asp forlades kommer man jo over på server2, altså trigges Session_onEnd rutinen, og her kan du fint gøre det som du ellers ville gøre i din reg.asp fil....!
Avatar billede posteren Nybegynder
28. januar 2001 - 13:07 #29
det duer da ikke!

Session_onEnd bliver da kaldt uanset om der er et klik eller om brugeren går til månen eller bare logger af
Avatar billede kasseper Nybegynder
28. januar 2001 - 13:09 #30
Du kan da bareb lave en indikation af om sessionen endes fra dit banner eller ej....
Avatar billede posteren Nybegynder
28. januar 2001 - 13:12 #31
det kan du slet ikke lave på den måde kasseper ;-)
Avatar billede kasseper Nybegynder
28. januar 2001 - 13:13 #32
skal vi væde 300 point ?;)
Avatar billede posteren Nybegynder
28. januar 2001 - 13:13 #33
jep
Avatar billede kasseper Nybegynder
28. januar 2001 - 13:16 #34
OK, hæng lige på lidt, så laver jeg et eksempel.....
Avatar billede kasseper Nybegynder
28. januar 2001 - 14:39 #35
Jeg sad lige og kogte over min global.asa....Den driller sq lidt, MEN
Så kom jeg i tanke om Server.transfer, har du prøvet den, jeg mente ikke at den kunne det du skulle bruge, men så slog jeg den op aligevel...
Uddrag fra min bog :
*******************
Transfer Method

Unlike the Redirect method of the response object, the Transfer method doesn\'t make you start over when you get to the new page. Instead, the Transfer method transfers all the values of all the built-in objects, as well as the states of thoese objects, to the new page you selected. Transfer is another method that you can use to break up your processing into logical file chuncks wihtout having to rebuild the query strung od the FORM every time. You can call this method like as follows :
Server.Transfer \"http://www.minserver.dk/gemdata.asp\"
You don\'t have to worry about the rest of the query string,because it will be transferred along with the other contents of the request object.
********************

Tadaaa den fantes altså aligevel......


Kasseper

P.S. det kan godt være at jeg skylder dig 300 point for den med global.asa, min tanke var at tjecke på submit knappens value i Session_OnEnd, men dropper ide\'en da det du skal bruge er Transfer...ik ?
Avatar billede kasseper Nybegynder
28. januar 2001 - 14:40 #36
mærkeligt at tdaugaard ikke kendte den, han har ellers ret godt tjeck på server funktionerne....
Avatar billede erikjacobsen Ekspert
28. januar 2001 - 15:20 #37
Server.transfer virker kun på samme server (vistnok... hehe)
Avatar billede kasseper Nybegynder
28. januar 2001 - 15:32 #38
Den opbygger jo bare en ny collektion af request objektet, af de oprindelige data, og sender videre,...(vist nok)....;)
Avatar billede posteren Nybegynder
28. januar 2001 - 16:45 #39
Server.transfer virker kun på samme server da den slet ikke skriver til klienten.
Det var noget nyt i IIS 5.0, og bør bruges til at redirecte mellem sider på samme server da hastigheden er langt bedre.
Men til mit problem duer den da slet ikke!
Avatar billede kasseper Nybegynder
28. januar 2001 - 16:58 #40
Præcis den måde jeg selv har brugt Transfer, men jeg er har aldrig set at det ikke virker mellem, flere servere...Har også søgt lidt på nettet, men det står ingen steder, men hvad ved bønder også om agurkesalat.....
Hmm, det lyder som om at et \'ikke-build-in\' komponent er eneste udvej.
Men det kan da heller ikke være så svært at strikke sammen....Jeg kan desvære ikke gøre det hjemmefra, men jeg kan da gøre et forsøg, når jeg kommer på arbejde....
Avatar billede posteren Nybegynder
28. januar 2001 - 16:59 #41
det ville være kanon.... men hvad med de 300 point vi vædede om din session løsning *G*
Avatar billede kasseper Nybegynder
29. januar 2001 - 09:18 #42
Jeg tror altså at du godt kan skyde en hvid pil efter din post -> redirect -> post, jeg troede ikke det kunne være så svært at strikke sådan en sølle http header sammen....Men det er forsøgt gjort før, men indtil videre uden held....Jeg faldt over mange artikler om emnet på nettet, se f.eks. denne : http://ppewww.ph.gla.ac.uk/~flavell/www/post-redirect.html
Der er mange der snakker om at lave sin post om til get i mellemstadiet, men duer jo ikke her...

Jeg prøver at se om der er et alternativ, men mit lovede komponent, er blevet droppet.....
Avatar billede kasseper Nybegynder
29. januar 2001 - 11:58 #43
Måske kan du bruge denne her : ???????????????
http://www.serverobjects.com/comp/asphttp3.htm
Den lover at kunne post\'e via HTTP.....
Så skulle du nok bruge den i din reg.asp fil...?
Avatar billede posteren Nybegynder
29. januar 2001 - 12:02 #44
nej den kendte jeg godt, og der findes mange varianter af den.
Den sender bare en side tilbage til serveren, således at det er serveren der poster og får indholdet, som man så kan sende til klienten - men det hjælper bare ikke rigtigt for så kommer der til at stå en forkert adresse oppe i browseren og lokale links på den forspurgte side vil ikke virke korrekt!

Avatar billede kasseper Nybegynder
29. januar 2001 - 12:34 #45
Jamen, så dur denne her nok heller ikke : http://www.dynu.com/dynuhttp.asp
Hmmm. det ser ud til at det bliver en grum en den her.....
Avatar billede posteren Nybegynder
29. januar 2001 - 12:37 #46
can retrieve documents using HTTP GET and POST.

nej den duer ikke!
Avatar billede kasseper Nybegynder
29. januar 2001 - 12:43 #47
Ja præcis som den anden fra serverobejcts....
Jeg tror i princippet godt at det kan lade sig gøre at lave et komponent der laver en HTTP header, med de oprindelige oplysninger, som så bliver posted. Men det kræver en del mere nærgående studering af HTTP standarden, et studie der vil tage lidt længere tid, jeg tror jeg vil kigge nærmere på det, men tror desvære ikke at jeg kan nå det inden for en nær fremtid.
Konklusion : jeg stiller min aktivitet i dette spørgsmål i bero, Jeg vil dog gerne poste noget her, hvis jeg engang kommer op med en nyopdagelse....
Håber du løser problemet....
Avatar billede mikkelnh Nybegynder
22. maj 2007 - 22:52 #48
hvad med at gemme din data i sessions og så bagefter at have hentet din data ud af sessions slette dem
eksempel

-------doc1----
<input name="test"/>
------------------


------doc 2------
session("test") = Request.Form("test")
-----------------


-----doc 3-------
Response.Write session("test")
----------------
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester