Avatar billede 123abc123 Nybegynder
20. april 2002 - 10:29 Der er 15 kommentarer og
1 løsning

Hvad gør jeg galt

<%If Request.QueryString("tilfoj") = "sources" Then
Set Conn2 = Server.CreateObject("ADODB.Connection")
Conn2.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")

    Set rs33 = Server.CreateObject("ADODB.Recordset")
    sql = "select * from sources"
    rs33.open sql, conn2, 1, 3

      rs33.AddNew
      rs33("titel") = Request.form("titel")
      rs33("beskrivelse") = Request.form("beskrivelse")
      rs33("download") = Request.form("download")
      rs33("source") = Request.form("source")
      rs33("oprettet") = now()
      rs33("size") = Request.form("size")
      rs33("udvikler") = Request.form("udvikler")
      rs33("udvikler_mail") = Request.form("udvikler_mail")
      rs33("indsender") = Session("Username")
      rs33.Update

    rs33.Close
    Set rs33 = Nothing
   
%>

hvad gør jeg galt, den tilføjer en hvor de indtastede data står, men den tilføj også den tom linje i databasen
Avatar billede soes Nybegynder
20. april 2002 - 11:24 #1
har du prøvet med INSERT INTO via SQL? sådan som jeg forstår det opretter den 2 poster i din database, er det rigtigt?

/Søren Søndergård
Avatar billede 123abc123 Nybegynder
20. april 2002 - 11:26 #2
ja, den opretter 2 poster i datbasen, og hvordan kan man gøre det med Insert into??
Avatar billede soes Nybegynder
20. april 2002 - 11:28 #3
et lille eksempel jeg selv bruger:

SQL = "INSERT INTO Users (user, pass, email, IRLname) VALUES "
SQL = SQL & "('"& strUser &"','"& strPass &"','"& strEmail &"','"& strName &"')"

/Søren Søndergård
Avatar billede eagleeye Praktikant
20. april 2002 - 11:42 #4
Må vi se din <form name="xx" action="cc"> på den forrige side? Hvis du har en validerings routine kan det være siden bliver kaldt to gange...

Den kode du har vist giver ikke anledning til at der skulle komme to records i database.
Avatar billede 123abc123 Nybegynder
20. april 2002 - 14:02 #5
den ser sådan ud :


<p align="center">Tilføj - Sources</b><br>
</p>

<form action="community_admin_tilfoj.asp?tilfoj=sources" method="POST" align="center">
  <table border="0" width="75%" cellspacing="0" cellpadding="0">
    <tr>
      <td width="50%">Titel :</td>
      <td width="50%"><input type="text" name="titel" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr>
      <td width="50%"><div align="left"><p>Beskrivelse : </td>
      <td width="50%"><div align="left"><p><input type="text" name="beskrivelse" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="50%">Link til download :</td>
      <td width="50%"><input type="text" name="download" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="50%">Type :</td>
      <td width="50%"><select size="1" name="source"
      style="border-style: solid; border-width: 1">
        <option value="1">Asp</option>
        <option value="2">Php</option>
        <option value="3">Dhtml</option>
        <option value="4">JavaScript</option>
      </select></td>
    </tr>
    <tr align="center">
      <td width="50%">Størrelse :</td>
      <td width="50%"><input type="text" name="size" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="50%">Udvikler :</td>
      <td width="50%"><input type="text" name="udvikler" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="50%">Udvikler mail :</td>
      <td width="50%"><input type="text" name="udvikler_mail" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="100%" colspan="2"><div align="center"><center><p><input type="submit"
      value="Tilføj" name="B1" style="border-style: solid; border-width: 1"></td>
    </tr>
  </table>
</form>
Avatar billede eagleeye Praktikant
20. april 2002 - 14:10 #6
Hmmm <form>'en ser rigtig ud, den giver vist ikke problemmer.

Er <form> og indsæt koden i samme .asp fil?
Avatar billede 123abc123 Nybegynder
20. april 2002 - 14:12 #7
ja
Avatar billede eagleeye Praktikant
20. april 2002 - 14:14 #8
har du noget kode som laver en Response.Redirect "community_admin_tilfoj.asp"  ?
Avatar billede 123abc123 Nybegynder
20. april 2002 - 14:15 #9
nej
Avatar billede eagleeye Praktikant
20. april 2002 - 14:18 #10
jeg ville gætte på at denne if sætning bliver opfyldt to gange, og anden gang er form felter tomme derfor bliver felterne i database tomme.

If Request.QueryString("tilfoj") = "sources" Then


Vi du vise op hele koden så vi kan se hvor det evt. kunne ske?
Avatar billede 123abc123 Nybegynder
20. april 2002 - 14:19 #11
<%If Request.QueryString("tilfoj") = "sources" Then
Set Conn2 = Server.CreateObject("ADODB.Connection")
Conn2.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("bdbd.mdb")

    Set rs33 = Server.CreateObject("ADODB.Recordset")
    sql = "select * from sources"
    rs33.open sql, conn2, 1, 3

      rs33.AddNew
      rs33("titel") = Request.form("titel")
      rs33("beskrivelse") = Request.form("beskrivelse")
      rs33("download") = Request.form("download")
      rs33("source") = Request.form("source")
      rs33("oprettet") = now()
      rs33("size") = Request.form("size")
      rs33("udvikler") = Request.form("udvikler")
      rs33("udvikler_mail") = Request.form("udvikler_mail")
      rs33("indsender") = Session("Username")
      rs33.Update

    rs33.Close
    Set rs33 = Nothing
   
%>
<title></title>
</head>
<b>

<body>

<p align="center">Tilføj - Sources</b><br>
</p>

<form action="community_admin_tilfoj.asp?tilfoj=sources" method="POST" align="center">
  <table border="0" width="75%" cellspacing="0" cellpadding="0">
    <tr>
      <td width="50%">Titel :</td>
      <td width="50%"><input type="text" name="titel" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr>
      <td width="50%"><div align="left"><p>Beskrivelse : </td>
      <td width="50%"><div align="left"><p><input type="text" name="beskrivelse" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="50%">Link til download :</td>
      <td width="50%"><input type="text" name="download" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="50%">Type :</td>
      <td width="50%"><select size="1" name="source"
      style="border-style: solid; border-width: 1">
        <option value="1">Asp</option>
        <option value="2">Php</option>
        <option value="3">Dhtml</option>
        <option value="4">JavaScript</option>
      </select></td>
    </tr>
    <tr align="center">
      <td width="50%">Størrelse :</td>
      <td width="50%"><input type="text" name="size" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="50%">Udvikler :</td>
      <td width="50%"><input type="text" name="udvikler" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="50%">Udvikler mail :</td>
      <td width="50%"><input type="text" name="udvikler_mail" size="20"
      style="border-style: solid; border-width: 1"></td>
    </tr>
    <tr align="center">
      <td width="100%" colspan="2"><div align="center"><center><p><input type="submit"
      value="Tilføj" name="B1" style="border-style: solid; border-width: 1"></td>
    </tr>
  </table>
</form>
<%end if%>
Avatar billede eagleeye Praktikant
20. april 2002 - 14:29 #12
Første gang du kalder side op er det så sådan her du linker til file:

community_admin_tilfoj.asp?tilfoj=sources

Eller:

community_admin_tilfoj.asp
Avatar billede 123abc123 Nybegynder
20. april 2002 - 14:33 #13
til community_admin_tilfoj.asp?tilfoj=sources
Avatar billede eagleeye Praktikant
20. april 2002 - 14:36 #14
Så er det derfor for så kommer der en tom linie i databasen hvor gang siden loades pga af denne if:

If Request.QueryString("tilfoj") = "sources"

er opfyldt.

Har du mange andre ting på siden? For du kan jo kalde filen sådan her:
community_admin_tilfoj.asp
Og så flytte den sidste linie <%end if%> op til:

    rs33.Close
    Set rs33 = Nothing
  end if    '<-------- Indsæt end her....
Avatar billede eagleeye Praktikant
20. april 2002 - 14:40 #15
du kan også tjekke på om filen er load ved POST altså fra en action="" i en form..



<%If Request.QueryString("tilfoj") = "sources" Then

if Request.ServerVariables("REQUEST_METHOD") = "POST" then

  Set Conn2 = Server.CreateObject("ADODB.Connection")
  Conn2.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database.mdb")

    Set rs33 = Server.CreateObject("ADODB.Recordset")
    sql = "select * from sources"
    rs33.open sql, conn2, 1, 3

      rs33.AddNew
      rs33("titel") = Request.form("titel")
      rs33("beskrivelse") = Request.form("beskrivelse")
      rs33("download") = Request.form("download")
      rs33("source") = Request.form("source")
      rs33("oprettet") = now()
      rs33("size") = Request.form("size")
      rs33("udvikler") = Request.form("udvikler")
      rs33("udvikler_mail") = Request.form("udvikler_mail")
      rs33("indsender") = Session("Username")
      rs33.Update

    rs33.Close
    Set rs33 = Nothing

end if  'end request.servervariables
%>

HTML-kode

<%end if%>





Så blvier der kun lagt i databsen hvis man har trykke på submit.
Avatar billede 123abc123 Nybegynder
20. april 2002 - 14:46 #16
Ok det hjalp, tak
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