[ASP] post form zonder <form>

Pagina: 1
Acties:

  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 17-05 10:33
Ik zit met het volgende ei ivm een registratiesysteem voor een hosting provider. De huidige werking is zo :
- je geeft een domeinnaam in en drukt op "zoek", er wordt dan een post van een form gedaan
- in een asp-script wordt alles uitgefilterd en correct doorgestuurd naar een Perl script om de effectieve controle te doen of de domeinnamen nog vrij zijn
- er wordt een redirect gedaan op het einde van dit Perl script naar een pre-output script waar er even een paar dingen over de gebruiker gelogd worden
- daarna wordt hij naar de effectieve output pagina gestuurd waar hij zijn zoekresultaten ziet

De pagina met de logging heb ik in een aparte asp gezet om de simpele reden als men op refresh klikt dan gaat ie niet elke keer loggen.
Deze ASP pagina is dus puur ASP en zal de eindgebruiker dan ook niet zien. Op het einde van de pagina voer ik dan een redirect uit naar de output pagina samen met de resultaten die ik van het Perl script heb meegekregen.

Nu heb ik standaard altijd met een gewone GET gewerkt in de forms (post method niet gedefinieerd, dus GET). Nu wilden we toch die querystring weglaten en ik had ook gelezen dat ze het eigenlijk wel aanraden van een POST te gebruiken, dus ben ik even de forms aan het aanpassen.
Alleen voor zo'n redirect als in dit geval weet ik geen oplossing. Ik redirect gewoon en gooi mijn querystring achter de ASP pagina zodat ik hem met Request.QueryString kan oproepen, maar nu zou ik een POST moeten simuleren zonder effectief een <form> te gebruiken.
Is hier een mogelijkheid voor in ASP ?

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Zou ik met sessions doen.

Huur mij in als freelance SEO consultant!


Verwijderd

Is het geen optie om de door te geven gegevens in het Session object te plaatsen?

  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 17-05 10:33
Hmmz dat is inderdaad een mogelijkheid... Maar is het dan onmogelijk om een echte POST te doen zoals je die via een form in HTML doet?

  • Mart!
  • Registratie: Februari 2000
  • Laatst online: 25-05 15:37
Jawel, forms via de post methode worden meegestuurd in de header van het request, dus daar zou je wat mee kunnen doen. Ik zal kijken of i kwat info kan finden hierover.

hmnn... dat valt nog niet mee, mar je kan iig session gebruiken of cookies (sessions zijn niet meer dan veredelde cookies).

Set cookie in eerste pagina (deze wordt toegevoegd aan de header van de request) en vraag op de volgende deze weer uit (meegestuurd via header van de reply)

(Toch denk ik dat je via response.addheader een post kan faken ;) )

[ Voor 62% gewijzigd door Mart! op 04-12-2003 17:09 ]


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
netjes een hidden post doen met de volgende methode

ASP:
1
2
3
4
5
6
7
8
9
10
    dim objXML
    Set objXML = Server.CreateObject("Microsoft.XMLHTTP")
        objXML.Open "POST", "http://www.domein.nl", False
        
        '// header
        objXML.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
        
        objXML.Send "naam=" & naam & "naam1=" & naam1
    
        Set objXML = Nothing

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • codemann
  • Registratie: Oktober 2002
  • Laatst online: 17-05 10:33
Ik heb wat verder gezocht op die Response.AddHeader en het zou daar inderdaad mee moeten lukken.

Samengevat heb ik dit momenteel :

ASP:
1
2
3
4
5
6
7
Sub Redirect(sURL)
  Response.Clear
  Response.Redirect sURL
End Sub

Session("sQuery") = "extra=output&" & Request.QueryString
Call Redirect("basket.asp")


met in basket.asp dit :

ASP:
1
2
3
4
5
6
7
Sub HTMLHeader(sQuery)
  Response.ContentType = "application/x-www-form-urlencoded"
  Response.AddHeader "Connection", "close"
  Response.Write sQuery
End Sub

Call HTMLHeader(Session("sQuery"))


En wat gebeurt er? Hij wil basket.asp downloaden |:(

Opmerking: Request.QueryString gebruik ik nog in het eerste bestand omdat ik daar van een cgi-script kom wat een simpele redirect doet (zoals GET)

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 15-04 15:52
volgens mij moet je gewoon een post doen en een var mee geven die je op true zet en dan kijkt of je voor het eerst op die pagina bent (de logging pagina)
of je log pagina in een sub zetten en die aanroepen als ie aan een bepaalde waarde voldoet....

bijv. asppagina.asp?visit=first&bla=bla&bla=bla
strvisit = Request.querystring("visit")
if strvisit = "first"
Call Logginding
strvisit = ""
else
Redirect of iets dergelijks
end if

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...

Pagina: 1