Toon posts:

[ASP] "Kunstmatig" een formulier posten...

Pagina: 1
Acties:

Verwijderd

Topicstarter
Als je op een HTML pagina een formulier post <form action="blaat.asp" method="POST"> dan komt in de pagina blaat.asp volgens mij een extra HTTP Header te staan met de gegevens die gepost zijn.

Nu wil ik eigenlijk op een pagina X gegevens uit een database halen, en naar pagina Y versturen alsof je vanaf pagina X een formulier invult met de gegevens vanuit de database.

Ik hoop dat iemand weet hoe ik dat met headers of zo moet fixen in ASP...

Verwijderd

Dat kan niet met ASP.. zul je met Javascript moeten doen.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12:42

Janoz

Moderator Devschuur®

!litemod

Kan wel met asp, maar dan zul je inderdaad je eigen requestheaders moeten gaan bouwen (of een componentje daarvoor gebruiken) Hoe die post data precies meegestuurd wordt is in de RFC te lezen.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Theguide
  • Registratie: December 2000
  • Laatst online: 26-06-2025
Je zou bijvoorbeeld ook gewoon een <form></form> op kunnen bouwen met allemaal <input type="hidden" value= etc.
Je kunt zelfs een array in zo'n hidden field zetten waarmee je dus bijvoorbeeld een checkbox zou kunnen simuleren.

Fuck me if I'm wrong, but isn't your name Gretchen?


  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 02-08 18:07
Lees eens iets over het verschil tussen GET en POST.

Verder zou Response.Redirect("blaat.asp?var1=val1&var2=val2

  • Theguide
  • Registratie: December 2000
  • Laatst online: 26-06-2025
Er zal vast een reden voor zijn hoor, maareh... waarom wil je het perse met een formulier overdracht doen.... Heeft de betreffende pagina geen database toegang of zo? Je kunt toch net zo makkelijk in de pagina waarin het formulier moet worden ingevuld vanuit jouw headers, direct de gegevens uit de database halen en in het formulier proppen, zonder extra tussen stap van een formulier?

[ Voor 1% gewijzigd door Theguide op 10-01-2003 14:16 . Reden: kommaatje toegevoegd voor leesbaarheid :) ]

Fuck me if I'm wrong, but isn't your name Gretchen?


Verwijderd

Topicstarter
Theguide schreef op 10 januari 2003 @ 14:14:
Er zal vast een reden voor zijn hoor, maareh... waarom wil je het perse met een formulier overdracht doen.... Heeft de betreffende pagina geen database toegang of zo? Je kunt toch net zo makkelijk in de pagina waarin het formulier moet worden ingevuld vanuit jouw headers, direct de gegevens uit de database halen en in het formulier proppen, zonder extra tussen stap van een formulier?
het moet juist niet via een formuliertje, maar alleen de manier van posten in de headers zoals een formuliertje zou doen. Dit is voor een dataprovider, die kan ik opdrachten geven dmv een formuliertje. En dan vindt ik een HIDDEN field te onveilig. Omdat mensen dan gewoon in de bron bepaalde dingen kunnen zien en veranderen. Het moet dus puur via een server-side script gebeuren.

Ik hoef alleen maar te weten hoe ik zoiets aan een header toevoeg of zo...

dus niet redirect("blaat.asp?id=2&.... etc.")...........

  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 02-08 18:07
Via response.addheader natuurlijk:

http://www.devguru.com/Te...f/response_addheader.html

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 21:12

gorgi_19

Kruimeltjes zijn weer op :9

Sowieso moet je wel nagaan of het wel gaat werken en of de referrer niet geblocked wordt. Als hier namelijk ook op wordt gecontroleerd, dan kan het wel wat lastiger gaan.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 02-08 18:07
Als het hier gaat om grote datastructuren die je wilt doorgeven van pagina naar pagina dan zou je eens aan XML moeten denken. Microsoft heeft een implementatie van de XML-DOM (msxml) geschreven die volledig aan de standaard voldoet en daarnaast nog een aantal extra's heeft. Deze extra's hebben geen client-requirements en zijn dus niet browserafhankleijk. Kijk voor precies wat jij wilt eens op http://www.devguru.com/Te...kref/obj_httpRequest.html

Verwijderd

Topicstarter
Heel erg bedankt allemaal, ik ga even uitproberen ow de info van Arnaud (devguru) werkt...

Verwijderd

Topicstarter
Ik zal het eens ff duidelijker uitleggen.

Ik moet een opdracht geven aan een externe server, maar om een valide opdracht te versturen moet ik dit volgens hun doen:
Na het opbouwen van een TCP verbinding met de server moet de aanroepende applicatie het volgende request sturen:

code:
1
2
3
4
5
6
POST /request.php HTTP/1.1\r\n
Host: www.server____1.nl\r\n
Content-type: application/x-www-form-urlencoded\r\n
Content-length: ???\r\n
Connection: close\r\n
\r\n


De vraagtekens op de vierde regel dienen te worden ingevuld met de lengte van de verstuurde HTTP body. De tekens "\r\n" staan voor linefeed (ASCII code 13) gevolgd door een carriage return (ASCII code 10).

Body
Na de HTTP headers komt de HTTP body bestaande uit het volgende formaat:
code:
1
U=Gebruikersnaam&Pass=Wachtwoord&N1=Datum&KK=internet_url
Ik snap het een beetje wat ze bedoelen. Ze willen dus zo'n HTTP request van ons zien. Ik zou het echt niet weten hoe dat moet...... Iemand een ID?

Alvast heeel erg bedankt!

[ Voor 8% gewijzigd door Verwijderd op 10-01-2003 18:06 ]


  • JohanDM
  • Registratie: Augustus 2002
  • Laatst online: 16-07-2021

JohanDM

Optimist

Gewoon eerst de form-header faken met Response.ContentType en Response.AddHeader en dan de body met Response.Write
ASP:
1
2
3
Response.ContentType = "application/x-www-form-urlencoded"
Response.AddHeader "Connection", "close"
Response.Write "U=Gebruikersnaam&Pass=Wachtwoord&N1=Datum&KK=internet_url"

De overige header lijnen worden volgens mij al automatisch goed gedaan door ASP indien dat niet het geval mocht zijn kun je ze nog altijd zelf toevoegen met Response.AddHeader
Let wel op dat de Response.Write voor de body na de laatste Response.AddHeader komt.

"Two things are infinite: the universe and stupidity. And the former I'm not so sure about." -- Albert Einstein


Verwijderd

Topicstarter
SUPER! bedankt! Echt je hebt me zeer veel geholpen!
Pagina: 1