Avatar billede knutbl Nybegynder
25. november 2001 - 21:10 Der er 22 kommentarer og
1 løsning

INSERT INTO - Skjønner det ikke!

Hei!
Jeg er ny på dette, og prøver nå å få til et script som sender informasjon fra et form til en database. Alt er meget enkelt lagt opp:
Formet skal ligge nederst på en konsertside, og brukerne skal kunne skrive inn i feltene name, city, location og comment.
Det hele er en Ønskeliste for steder et band skal spille konserter på.
Databasen heter wishlist.mdb og skal ligge i samme folder som scriptet.
Når brukerne har tastet inn og trykket SEND skal de automatisk sendes til siden wishlist.asp, der alle resultatene vises.

Jeg har prøvd og prøvd, lest på html.dk og klarer likevel ikke å få dette til. Dum? Tja....

Kan noen lage et opplegg som fungerer eller gi meg så mye hjelp at jeg klarer det selv???

Takk-takk-takk!

Knut B.
Avatar billede decrypto Nybegynder
26. november 2001 - 10:20 #1
Jeg ville skrive sådan en form:

<form method=\"POST\" action=\"wishlist.asp?task=insert\">
  Name<input type=\"text\" name=\"name\" size=\"20\">
  City<input type=\"text\" name=\"city\" size=\"20\">
  Location<input type=\"text\" name=\"location\" size=\"20\">
  Comment <input type=\"text\" name=\"comment\" size=\"20\">
<input type=\"submit\" value=\"Send\">
</form>
Avatar billede decrypto Nybegynder
26. november 2001 - 10:20 #2
Resten kommer om lidt....
Avatar billede decrypto Nybegynder
26. november 2001 - 10:22 #3
Sorry insert er et reserveret ord vi prøver igen
Avatar billede decrypto Nybegynder
26. november 2001 - 10:29 #4
<%
dim task
dim name
dim city
location
dim SQLstatement

task = request.querystring(\"task\")
name = request.form(\"name\")
city = request.form(\"city\")
location = request.form(\"location\")
comments = request.form(\"comments\")


if task = \"putin\" then
SQLstatement = \"INSERT INTO <table> name etc.\"......

response.redirect(\"showwishlist.asp\")
%>

<form method=\"POST\" action=\"wishlist.asp?task=putin\">
  Name<input type=\"text\" name=\"name\" size=\"20\">
  City<input type=\"text\" name=\"city\" size=\"20\">
  Location<input type=\"text\" name=\"location\" size=\"20\">
  Comments <input type=\"text\" name=\"comments\" size=\"20\">
<input type=\"submit\" value=\"Send\">
</form>
Avatar billede decrypto Nybegynder
26. november 2001 - 10:30 #5
Jeg går udfra at du har database connection på plads...

Desuden skal jeg vide hvad din tabel hedder... og hvad dine felter hedder, for at kunne lave sqlsætningen færdigt.
Avatar billede decrypto Nybegynder
26. november 2001 - 10:33 #6
Jeg glemte et \"end if\" i if sætningen..
:(

decrypto
Avatar billede knutbl Nybegynder
26. november 2001 - 14:54 #7
Ser flott ut!
Min tabell heter wishes og feltene heter
city, location, name og comments
De 3 første er tekstfelter og det siste er notatfelt i Access.

KnB
Avatar billede decrypto Nybegynder
26. november 2001 - 16:32 #8
<%
\'-------------------- ASP KODE ------------------------------
dim task
dim name
dim city
dim location
dim SQLstatement

task = request.querystring(\"task\")


if task = \"putin\" then

  name = request.form(\"name\")
  city = request.form(\"city\")
  location = request.form(\"location\")
  comments = request.form(\"comments\")

  SQLstatement = \"INSERT INTO WISHES VALUES(\'\"&name&\"\', \'\"&city&\"\', \'\"&location&\"\', \'\"&comments&\"\')
  connection.execute(SQLstatement)

  response.redirect(\"showwishlist.asp\")
end if
%>

<!-- ---------------------- HTML FORM --------------------------------->

<form method=\"POST\" action=\"wishlist.asp?task=putin\">
  Name:<input type=\"text\" name=\"name\" size=\"20\"><br>
  City:<input type=\"text\" name=\"city\" size=\"20\"><br>
  Location:<input type=\"text\" name=\"location\" size=\"20\"><br>
  Comments:<input type=\"text\" name=\"comments\" size=\"20\"><br>
<input type=\"submit\" value=\"Send\">
</form>
Avatar billede decrypto Nybegynder
26. november 2001 - 16:33 #9
Lige til at kopiere og sætte ind...

Håber jeg :)

Med venlig hilsen
decrypto
Avatar billede knutbl Nybegynder
26. november 2001 - 18:19 #10
Får denne feilmeldingen:
Microsoft VBScript compilation error \'800a0409\'

Unterminated string constant

/web/concerts/wishlist.asp, line 28

SQLstatement = \"INSERT INTO WISHES VALUES(\'\"&name&\"\', \'\"&city&\"\', \'\"&location&\"\', \'\"&comment&\"\')

Hva betyr dette?
KnB
Avatar billede decrypto Nybegynder
26. november 2001 - 18:33 #11
vent
Avatar billede decrypto Nybegynder
26. november 2001 - 18:38 #12
Der mangler et slut \" i sætningen sorry
Avatar billede knutbl Nybegynder
26. november 2001 - 20:12 #13
Huff, det ble mye her, men nå kommer en ny feil, og jeg klarer ikke å se hva som er galt:

Microsoft VBScript runtime error \'800a01a8\'

Object required: \'\'

/web/concerts/wishlist.asp, line 29

Linje 29 er linjen med connection.execute
  SQLstatement = \"INSERT INTO WISHES VALUES(\'\"&name&\"\', \'\"&city&\"\', \'\"&location&\"\', \'\"&comment&\"\')\"
  connection.execute (SQLstatement)

Vet du hva som er galt?
(Poengene er allerede dine, Decrypto... ;-) )

KnB
Avatar billede decrypto Nybegynder
26. november 2001 - 22:43 #14
Skriv denne SQL sætning

SQLstatement = \"INSERT INTO WISHES(CITY, LOCATION, NAME COMMENTS) VALUES(\'\" & city & \"\', \'\" & location & \"\', \'\" & name & \"\', \'\" & comments & \"\')\"

PS, felterne skal i samme rækkefølge som i databasen.

decrypto
Avatar billede decrypto Nybegynder
27. november 2001 - 11:50 #15
Det er fordi jeg havde glemt at du arbejder med Access. Den skal have alting skåret ud i pap, i modsætning til SQL server. :)

decrypto
Avatar billede decrypto Nybegynder
27. november 2001 - 11:54 #16
FUCK husk at skrive dim comments under dim location. Den har jeg også glemt at skrive.

Håber det hele virker nu :)
Avatar billede knutbl Nybegynder
27. november 2001 - 12:01 #17
Nå er jeg lei.... ;-)
Får nå ingen feilmeldinger, og blir riktig sendt videre til den rette side. Men: Form\'en legges IKKE inn i databasen, slik den skulle...
Sender med HELE koden, slik at du kan se om noe er fryktelig galt her et sted:

<% Response.Buffer = True %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>
          <%Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & Server.MapPath (\"../db/wishlist.mdb\")
                    %> <%
\'-------------------- ASP KODE ------------------------------
dim task
dim name
dim comment
dim city
dim SQLstatement

task = request.querystring(\"task\")


if task = \"putin\" then

  name = request.form(\"name\")
  city = request.form(\"city\")
  comment = request.form(\"comment\")

SQLstatement = \"INSERT INTO WISHES( NAME, COMMENT, CITY) VALUES( \'\" & name & \"\', \'\" & comment & \"\', \'\" & city & \"\' )\"

  response.redirect(\"http://www.delawaremusic.net/web/wishlist.asp\")
end if
%>

<!-- ---------------------- HTML FORM --------------------------------->

<form method=\"POST\" action=\"wishlist.asp?task=putin\">
  <table width=\"37%\" border=\"0\" cellspacing=\"5\" cellpadding=\"0\">
    <tr>
      <td>Name: </td>
      <td>
        <input type=\"text\" name=\"name\" size=\"30\">
      </td>
    </tr>
    <tr>
      <td>City:</td>
      <td>
        <input type=\"text\" name=\"city\" size=\"30\">
      </td>
    </tr>
    <tr>
      <td>Comments:</td>
      <td>
        <textarea name=\"comments\" cols=\"30\"></textarea>
      </td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td>
        <input type=\"submit\" value=\"Send\" name=\"submit\">
      </td>
    </tr>
  </table>
  <br>
  <br>
  <br>
</form>  </body>
</html>
Avatar billede decrypto Nybegynder
27. november 2001 - 12:07 #18
hmm har du prøvet at sætte noget ind i en access database før. (er det første gang du bruger denne database connection)?
Avatar billede decrypto Nybegynder
27. november 2001 - 12:08 #19
I din <texarea> skal der stå comment og ikke comments
Avatar billede decrypto Nybegynder
27. november 2001 - 12:09 #20
Hvis du har undladt location skal den helt væk i din database.
Avatar billede decrypto Nybegynder
27. november 2001 - 12:15 #21
Du mangler en sætning under SQLstatement. Skriv det her.

connection.execute(SQLstatement)

Ellers kører du ikke SQL sætningen.
Avatar billede decrypto Nybegynder
27. november 2001 - 12:40 #22
Hvis wishlist.asp ligger i samme folder behøver du ikke at skrive: response.redirect(\"http://....\")

men kan nøjes med:
response.redirect(\"wishlist.asp\")
Avatar billede knutbl Nybegynder
04. december 2001 - 00:17 #23
Sorry for at det har tatt så lang tid før jeg fikk bekreftet ditt svar, decrypto. Jeg får fremdeles noen feilmeldinger på ditt script, men har ordnet det hele på \"det enkle vis\" med Dreamweaver Ultradev 4. Skjønner endel mer av oppbygningen av en insert.into ved hjelp av scriptet ditt, men forstår fremdeles ikke hvorfor det ikke fungerer... Jeg velger likevel å avslutte dette nå.  Jeg takker for din stå-på-vilje når det gjelder løsningen av mitt problem, og du får poengene.

Ha en fin dag!

KnB
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