webForumDet fria alternativet

Hjälp med koden

ASP

24 svar · 952 visningar · startad av plelkes

Medlem sedan mars 2002823 inlägg
Frågan#1

Hej,

jag får inte detta att fungera, tacksam för hjälp och råd!! Ber om ursäkt för långt inlägg
skriv.html

<html>
<head>
<title>Skriv i g&auml;stboken</title>

</head>

<body bgcolor="#FFFFFF" text="#000000">
<table width="600" border="0">
  <tr>
    <td>
      <form name="skriv" method="post" action="till.asp">
        <p><br>
          Namn:<br>
          <input type="text" name="namn" size="50">
        </p>
        <p>E-post<br>
          <input type="text" name="mail" size="50">
 </p>
        <p>Meddelande:<br>
          <textarea name="message" cols="70"></textarea>
        <p align="right">
          <input type="submit" name="skriv" value="L&auml;gg till">
        
      </form>
    </td>
  </tr>
</table>
</body>
</html>

till.asp

<html>
<head>
	<title>skickat</title>
</head>
<body>
<% dim gbok
Set gbok = Server.CreateObject("ADODB.Connection")
gbok.Provider = "Microsoft.Jet.OleDB.4.0"
gbok.DataSource = Server.MapPath("guestbook.mdb")
gbok.Open
namn = Request.Form("namn")
Epost = Request.Form("mail")
Message = Request.Form("message")

StrSQL = "INSERT INTO guestbok"
strSQL = strSQL & "(namn, Epost, Message, Datum)"
StrSQL = strSQL & "VALUES('"& namn & "', '" & Epost & "', '" & Message &"', '" &_
" Now() & "')"

gbok.Execute(strSQL), 3, 3
Set gbok = Nothing
Response.Redirect "gastboken.asp"

 %>
</body>
</html>

gastboken.asp

<html>
<head>
<title>g&amp;auml;stbok</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>

<p align=center><font size=7><b><i><font color=#FFCC33>V&auml;lkommen till 
  skolans g&auml;stbok</font></i></b></font></p>
 
<%  dim minCon 'Connection
     dim rsGbok 'recordsetten f&ouml;r nya inl&auml;gg
     dim strSQL

Set minCon = Server.CreateObject(Response.Write "ADODB.Connection")
set rsGbok = Server.CreateObject(Response.Write "ADODB.Recordset")

minCon.Open Response.Write "DRIVER={Microsoft Access Driver (*.mdb}; DBQ=Response.Write "&Server.MapPath(Response.Write "guests.mdbResponse.Write ")
strSQL = SELECT * FROM guestbook ORDER by ID DESC
rsGbok.Open strSQL, minCon, 3, 3

Response.Write "<table width=782 border=2 cellspacing=5 cellpadding=5 >"
Do While rsGbok NOT.EOF
 Response.Write "<tr>"
    Response.Write "<td bgcolor=#003399 width=181>"
	Response.Write "<b><u><font size=6 color=#FFFF00>Namn:</font></u></b>"
	Response.Write "</td>"
    Response.Write "<td width=413>"
	Response.Write rsGbok("Namn") 
	Response.Write "</td>"
    Response.Write "<td width=128>"
	Response.Write rsGbok("Datun")
	Response.Write "</td>"
  Response.Write "</tr>"
  Response.Write "<tr>"
    Response.Write "<td bgcolor=#003399 width=181>"
	Response.Write "<b><u><font size=6 color=#FFFF00>E-post:</font></u></b>"
	Response.Write "</td>"
    Response.Write "<td colspan=2>"
	Response.Write rsGbok("Epost")
	Response.Write "</td>"
  Response.Write "</tr>"
  Response.Write "<tr>"
    Response.Write "<td bgcolor=#003399 width=181>"
	Response.Write "<font color=#FFFF00 size=6><b><u>Meddelande:</u></b></font>"
	Response.Write "</td>"
    Response.Write "<td colspan=2>"
	Response.Write rsGbok("Message")
	Response.Write "</td>"
  Response.Write "</tr>"
  rsBok.MoveNext
  Loop
  Response.Write "</table>"
  rsGbok.Close
  Set rsGbok = Nothing
  Set minCon = Nothing
  %>
</body>
</html>
Medlem sedan juni 200032 967 inlägg
#2

Vad är det som inte fungerar? Felmeddelanden?

Medlem sedan jan. 2002381 inlägg
#3

Är det inlägget i databasen, eller då du skall plocka ut det som är problemet??

Medlem sedan mars 2002823 inlägg
#4

Inget verkar hända när jag kör igång..

får inte nes felutskrift!!

Medlem sedan mars 2002823 inlägg
#5

när jag fyller i formuläret får jag följande felmedd:

Körningsfel i Microsoft VBScript fel '800a01be'

Namngivna argument stöds inte av objektet.: 'Server.MapPath(...).DataSource'

/gastbok/till.asp, rad 9

Försöker jag visa inläggen i databasen ( dvs sidan gastboken.asp) får jag:

Kompileringsfel i Microsoft VBScript fel '800a03ee'

')' förväntas.

/gastbok/gastboken.asp, rad 15

Set minCon = Server.CreateObject(Response.Write "ADODB.Connection")
------------------------------------------------^

Medlem sedan jan. 20032 285 inlägg
#6
gastboken.asp:

Set minCon = Server.CreateObject("ADODB.Connection")
set rsGbok = Server.CreateObject("ADODB.Recordset")
--------------------------------------------------
till.asp:

minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("guestbook.mdb")

Sen tar du bort alla andra connectiongrejer i till.asp.
:)

Medlem sedan mars 2002823 inlägg
#7

borde inte tabellen skrivas ut ändå? även fast jag har lite fel i asp-koden?

Medlem sedan jan. 20032 285 inlägg
#8

Har du testat med att göra som jag skrev?

Medlem sedan jan. 2002381 inlägg
#9

i gästbok.asp har du skrivit

Response.Write rsGbok("Datun")

lär ska stå datum

Medlem sedan jan. 20032 285 inlägg
#10

Ändra även denna raden i gastboken.asp

minCon.Open Response.Write "DRIVER={Microsoft Access Driver (*.mdb}; DBQ=Response.Write "&Server.MapPath(Response.Write "guests.mdbResponse.Write ")

till

minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("guests.mdb")

(Om det verkligen ska vara guests.mdb och inte guestbook.mdb som i den andra filen??)

Medlem sedan mars 2002823 inlägg
#11

Gomorgon!

Nu ser koden till till.asp

<html>
<head>
	<title>skickat</title>
</head>
<body>
<% minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("guestbook.mdb")

namn = Request.Form("namn")
Epost = Request.Form("mail")
Message = Request.Form("message")

StrSQL = "INSERT INTO guestbok"
strSQL = strSQL & "(namn, Epost, Message, Datum)"
StrSQL = strSQL & "VALUES('"& namn & "', '" & Epost & "', '" & Message &"', '" &_
" Now() & "')"

gbok.Execute(strSQL), 3, 3
Set gbok = Nothing
Response.Redirect "gastboken.asp"

 %>
</body>
</html>

och då får jag fel:

Körningsfel i Microsoft VBScript fel '800a01a8'
Objekt krävs.: ''
/gastbok/till.asp, rad 6

koden till gastboken.asp

<html>
<head>
<title>g&amp;auml;stbok</title>
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>

<p align=center><font size=7><b><i><font color=#FFCC33>V&auml;lkommen till 
  skolans g&auml;stbok</font></i></b></font></p>
 
<%  dim minCon 'Connection
     dim rsGbok 'recordsetten f&ouml;r nya inl&auml;gg
     dim strSQL

Set minCon = Server.CreateObject("ADODB.Connection")
set rsGbok = Server.CreateObject("ADODB.Recordset")

minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("guests.mdb")
strSQL =" SELECT * FROM guestbook ORDER by ID DESC"
rsGbok.Open strSQL, minCon, 3, 3

Response.Write "<table width=782 border=2 cellspacing=5 cellpadding=5 >"
Do While rsGbok NOT.EOF
 Response.Write "<tr>"
    Response.Write "<td bgcolor=#003399 width=181>"
	Response.Write "<b><u><font size=6 color=#FFFF00>Namn:</font></u></b>"
	Response.Write "</td>"
    Response.Write "<td width=413>"
	Response.Write rsGbok("Namn") 
	Response.Write "</td>"
    Response.Write "<td width=128>"
	Response.Write rsGbok("Datun")
	Response.Write "</td>"
  Response.Write "</tr>"
  Response.Write "<tr>"
    Response.Write "<td bgcolor=#003399 width=181>"
	Response.Write "<b><u><font size=6 color=#FFFF00>E-post:</font></u></b>"
	Response.Write "</td>"
    Response.Write "<td colspan=2>"
	Response.Write rsGbok("Epost")
	Response.Write "</td>"
  Response.Write "</tr>"
  Response.Write "<tr>"
    Response.Write "<td bgcolor=#003399 width=181>"
	Response.Write "<font color=#FFFF00 size=6><b><u>Meddelande:</u></b></font>"
	Response.Write "</td>"
    Response.Write "<td colspan=2>"
	Response.Write rsGbok("Message")
	Response.Write "</td>"
  Response.Write "</tr>"
  rsBok.MoveNext
  Loop
  Response.Write "</table>"
  rsGbok.Close
  Set rsGbok = Nothing
  Set minCon = Nothing
  %>
</body>
</html>

Jag får felmess.:

Kompileringsfel i Microsoft VBScript fel '800a0400'
Programsats förväntas.
/gastbok/gastboken.asp, rad 23
Do While rsGbok NOT.EOF
----------------^

till Sebbe:
databasen heter guests.mdb medans den aktuella tabellen heter guestbook

Medlem sedan juni 200032 967 inlägg
#12

Do While Not rsGbok.EOF

Medlem sedan mars 20015 287 inlägg
#13

databasen heter guests.mdb medans den aktuella tabellen heter guestbook

Då antar vi att du ändrat i till.asp till det:

<% minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("guest.mdb")
Medlem sedan jan. 2002381 inlägg
#14

har du fått det att fungera?? Vad var isåfall felet?

Medlem sedan apr. 20022 743 inlägg
#15

Innan du kan öppna minCon i till.asp måste du tala om för scriptet vad minCon är för något, i detta fall:

Set minCon = Server.CreateObject("ADODB.Connection")

Medlem sedan mars 2002823 inlägg
#16

Nu har jag ändrat:

  1. databasen namn
  2. till "Do While Not rs.EOF
  3. minCon i till.asp

Men får fel meddelandet:

Körningsfel i Microsoft VBScript fel '800a01a8'

Objekt krävs.: ''

/gastbok/till.asp, rad 20

Här kommer koden engång yill

html>
<head>
	<title>skickat</title>
</head>
<body>
<% 
Set minCon = Server.CreateObject("ADODB.Connection")
minCon.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("guests.mdb")

namn = Request.Form("namn")
Epost = Request.Form("mail")
Message = Request.Form("message")

StrSQL = "INSERT INTO guestbok"
strSQL = strSQL & "(namn, Epost, Message, Datum)"
StrSQL = strSQL & "VALUES('"& namn & "', '" & Epost & "', '" & Message &"', '" &_
" Now() & "')"

gbok.Execute(strSQL), 3, 3
Set gbok = Nothing
Response.Redirect "gastboken.asp"

 %>
</body>
</html>
Medlem sedan mars 2002823 inlägg
#17

och kör jag sidan gastboken.asp, dvs. genom att skriva http://localhost/gastbok/gastboken.asp -
så får jag bara upp texten: Välkommen till gästboken

Jag får inte upp tabellen och bordern, som ju är utanför min loop.
Varför detta?

Medlem sedan mars 20023 561 inlägg
#18

Ändra

gbok.Execute(strSQL), 3, 3

till

minCon.Execute(strSQL), 3, 3
Medlem sedan mars 2002823 inlägg
#19

Nu får jag följande fel:

ADODB.Connection fel '800a0bb9'

Parametrarna är felaktiga, ligger utanför tillåtet intervall eller skapar en inbördes konflikt.

/gastbok/till.asp, rad 20

Medlem sedan mars 20023 561 inlägg
#20

Skriv

gbok.Execute strSQL,,128

istället.

259 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)