Avatar billede eromaster Nybegynder
11. februar 2002 - 14:22 Der er 9 kommentarer og
1 løsning

id

Jeg adder nogle data til en database, se nedenunder:

    <%
    if request("mode") = "AddNew" then

    Set DataConn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; "
    DSN = dsn & "DBQ=" & server.mappath("db/db.mdb")

    DataConn.Open DSN

    Set Record = Server.CreateObject("ADODB.RecordSet")
    Record.open "Select * From [quizsvar] Order by id", DataConn, 1, 3


    Record.AddNew
        Record.Fields("navn") = Request("navn")
        Record.Fields("alder") = Request("alder")
        Record.Fields("email") = Request("email")
        Record.Fields("adresse") = Request("adresse")
        Record.Fields("by") = Request("by")
        Record.Fields("ip") = Request.ServerVariables("REMOTE_ADDR")
        Record.Fields("tid") = TIME
        Record.Fields("dato") = DATE
    Record.Update

    Record.Close
    set Record = nothing
    Dataconn.Close

    Response.Redirect("quiz.asp?side=quiz&quizspm=spm01&id=")
   
    end if
    %>

når den redirecter til næste side ("Response.Redirect("quiz.asp?side=quiz&quizspm=spm01&id=")") skal det id som netop er blevet oprettet i database "følge" med. Altså der hvor jeg allerede har skrevet id= , hvordan gør man det?
Avatar billede Slettet bruger
11. februar 2002 - 14:27 #1
id=" & id
Avatar billede Slettet bruger
11. februar 2002 - 14:30 #2
fodrudsat at du sætter id = request.querystring("id") ind som variabel.
Avatar billede eromaster Nybegynder
11. februar 2002 - 14:41 #3
Nogen der lige kan se hvad der er galt her:

<form method=get action="quiz.asp?mode=AddNew" id=form name=form>
Fornavn og efternavn:
<br>
<INPUT id=navn name=navn size="25">
<br>
<br>
Alder:
<br>
<INPUT id=Alder name=Alder size="25">
<br>
<br>
E-mail adresse:
<br>   
<INPUT id=email name=email size="25">
<br>
<br>
Adresse:
<br>
<INPUT id=adresse name=adresse size="25">
<br>
<br>
By:
<br>
<INPUT id=by name=by size="25">
<br>
<br>
<INPUT type="submit" value="Gå videre til quizen" id="Submit2" name=submit1>
<input type="hidden" value=AddNew name=mode id="Hidden1">
</form>

    <%
    if request("mode") = "AddNew" then

    Set DataConn = Server.CreateObject("ADODB.Connection")
    DSN = "DRIVER={Microsoft Access Driver (*.mdb)};uid=admin; "
    DSN = dsn & "DBQ=" & server.mappath("db/db.mdb")

    DataConn.Open DSN

    Set Record = Server.CreateObject("ADODB.RecordSet")
    Record.open "Select * From [quizsvar] Order by id", DataConn, 1, 3


    Record.AddNew
        Record.Fields("navn") = Request("navn")
        Record.Fields("alder") = Request("alder")
        Record.Fields("email") = Request("email")
        Record.Fields("adresse") = Request("adresse")
        Record.Fields("by") = Request("by")
        Record.Fields("ip") = Request.ServerVariables("REMOTE_ADDR")
        Record.Fields("tid") = TIME
        Record.Fields("dato") = DATE
    Record.Update

    Record.Close
    set Record = nothing
    Dataconn.Close

    Response.Redirect("quiz.asp?side=quiz&quizspm=spm01&id=" & id)
   
    end if
    %>

Den poster ikke rigtig i databasen?
Avatar billede Slettet bruger
11. februar 2002 - 14:45 #5
Hvad mener du med "Den poster ikke rigtig i databasen?"
Avatar billede Slettet bruger
11. februar 2002 - 14:47 #6
Prøv at ændre form method til POST i stedet for GET
Avatar billede eromaster Nybegynder
11. februar 2002 - 14:48 #7
den poster ikke... altså der er bare blank side med den streng i toppen
Avatar billede coltau Juniormester
11. februar 2002 - 15:05 #8
Du skal bruge Request.Form for at få indholdet af felterne:

  Record.AddNew
  Record.Fields("navn") = Request.Form("navn")
  osv ...
Avatar billede coltau Juniormester
11. februar 2002 - 15:07 #9
Med hensyn til første spørgsmål så skal du lave sidste del af koden sådan:

    Record.Update
    id = Record("ID") ' Her finder du ID på nyindsatte post.

    Record.Close
    set Record = nothing
    Dataconn.Close

    Response.Redirect("quiz.asp?side=quiz&quizspm=spm01&id=" & id)
Avatar billede ij Nybegynder
11. februar 2002 - 22:20 #10
Det er lige meget om du bruger request.form eller bare request. Problemet er bare at der er flere klasser involveret i request objektet. Jeg kan ikke huske præcedens, men det er vist
1. querystring
2. form
3. servervariables.
Så det kan være lidt performancekrævende, hvis den til sidst leder igennem alle servervariables.
Så god skik er enten at bruge request.form hvis man poster, og request.querystring, hvis man benytter get i en form, eller overfører via querystring.
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