Avatar billede avarjo Nybegynder
31. maj 2005 - 23:13 Der er 2 kommentarer og
1 løsning

modtage flere formular-input

Hvad er galt her?

Jeg har database: tutoril.mdb med én tabel: personer

Mit form-script:

<html>
<title>Formular</title>
<head>
</head>
<body>
<h1>Skriv dit navn</h1>

<form method="post" action="Nymodtag.asp">
<input type="text" name="Fornavn">Fornavn<br>
<input type="text" name="Efternavn">Efternavn<br>
<input type="text" name="Telefon">Tlf<br>
<input type="text" name="Foedselsdato">Fødselsdato dd-mm-yyyy<br>
<input type="submit">
</form>

</body>
</html>

Mit modtag-script:

<html>
<title>Indsætte data i databasen</title>
<head>
</head>
<body>
<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("tutorial.mdb")
Conn.Open DSN

' SQL sætning opbygges

strSQL = "Insert into personer (Fornavn, Efternavn, Telefon, Foedselsdato) values('" & Request.Form("Fornavn", "Efternavn", "Telefon", "Foedselsdato") & "')"

' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
<h1>Databasen er opdateret!</h1>
</body>
</html>

Får følgende fejl:

Tekniske oplysninger (for supportteknikere)

Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A01C2)
Antallet af argumenter er forkert eller egenskabstildelingen er ugyldig: 'Form'
/myasp/modtag.asp, line 17


Browsertype:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Side:
POST 74 bytes to /myasp/modtag.asp

POST Data:
Fornavn=Avarjo&Efternavn=Vojaro&Telefon=1234567890&Foedselsdato=12-11-1973

Klokkeslæt:
31. maj 2005, 23:10:50
Avatar billede cpufan Juniormester
31. maj 2005 - 23:37 #1
strSQL = "Insert into personer (Fornavn, Efternavn, Telefon, Foedselsdato) values('" & Request.Form("Fornavn")&"','" &request("Efternavn")&"','" &request("Telefon")&"','" &request("Foedselsdato") & "')"

under forudsætning af at alle er defineret som tekst i db.
Avatar billede benhur Nybegynder
01. juni 2005 - 01:11 #2
Som cpufan skriver, skal du lave en "request" for hvert enkelt input, og så længe der ikke er flere forskellige request metoder, der hedder det samme, kan man nøjes med request("...")
Avatar billede busschou Praktikant
01. juni 2005 - 08:20 #3
Når din form har method="post" så benyt request.form , hvis den har method="get" så kommer variablene i adresselinjen og skal hentes ved request.querystring
Det er korrekt at du kan nøjes med Request alene...men men det er ikke så effektivt da serveren jo er nød til at gennemløbe alle request elementerne for at finde det korrekte
se evt
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/54d9972a-b6cd-4672-b62a-8793ce8ad335.asp
Som det fremgår vil en Request først gennemsøge Querystring før den kommer til Form
Derfor vil reqeust.form("navn") for dig være hurtigere end request("navn") da du derved slipper for at søge Querystring igennem først ;o)
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