Min första gästbok

ASP

12 svar · 461 visningar · startad av jockesweb

Medlem sedan dec. 20018 inlägg
Trådstart#1

Hallå
Håller på med min första gästbok.
På sidan gastopen.htm skriver man sitt meddelande. När man klickar på skicka så kommer man till gast1.asp. Och på gast2.asp ska man kunna läsa meddelanden.
Men av någon anledningen så fungerar det inte.
Så här ser koderna ut:

gastopen.htm

<html>

<head>
<title>Min gästbok</title>
</head>

<body>

    \<p style="margin-top: 0; margin-bottom: 0"\>\<b\>\<font face="Verdana" size="1"\>\<a href="gast2.asp"\>Läs
    gästboken\</a\>\</font\>\</b\>\<Form Name="TestForm" Method="POST" Action="gast1.asp"\>
    \<P\>\<font face="Verdana" size="1"\>\<b\>Namn:\</b\>\</font\> \<BR\>
    \<Input Type="text" Name="Namn" Size="20" style="background-color: #C0C0C0; border: 1 solid #000000"\>\<BR\>
    \<font face="Verdana" size="1"\>\<b\>
    Epost:\<BR\>
    \<Input Type="text" Name="Epost" Size="20" style="background-color: #C0C0C0; border: 1 solid #000000"\>\<BR\>
    Inlägg:\</b\>\</font\> \<BR\>
    \<Textarea Rows="8" Name="Inlagg" Cols="40" style="background-color: #C0C0C0; border: 1 solid #000000"\>\</Textarea\>\</P\>
    \<p\>\<Input Type="Button" Value="Registrera" Name="B1"
    onClick="B1_OnClick();
    return false;" style="background-color: #C0C0C0; border: 1 solid #000000"\>
    \<Input Type="reset" Value="Återställ" Name="reset" style="background-color: #C0C0C0; border: 1 solid #000000" \>
    \</Form\>

<SCRIPT LANGUAGE="Javascript" </td>
function B1_OnClick(){
var nam=document.TestForm.Namn.value;
var inl=document.TestForm.Inlagg.value;

if((nam.lenght !=0) && (inl.lenght !=0)){
document.TestForm.submit();
} else {
alert("Du glömde att fylla i Namn eller Inlägg ");
}
}
</Script>

</body>

</html>
</script>

gast1.asp

<%
namn=Request.Form("Namn")
epost=Request.Form("Epost")
inlagg=Request.Form("Inlagg")
%>

<HTML>
<BODY>

<%
If Len(Trim(namn)) > 0 Then
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "gast"
datum = date()
If Len(Trim(epost)) = 0 Then epost = " "
sql = "Insert into Post (Namn, Epost, Inlagg, datum)"
sql = sql & "Values (" & namn & "," & Epost & "," & Inlagg & ","
sql = sql & Datum & ");"
conn.execute(sql)
conn.close

%>
<font face="Verdana" size="1"><b>Man tackar!
<%End If%>

<BR>
<A Href="gastopen.htm"> Skriv I Gästboken </A>
<BR>
<A Href="gast2.asp"> Läs inlägg </A>
</b></font>
</BODY>
</HTML>

gast1.asp

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "db/gastbok.mdb","",""
sql = "SELECT * FROM [Post] where Datum > #" & date() -5 & "#"
sql = sql & "order by ID"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 3, 3
%>
<HTML>
<BODY>
<Table Borders="0" Width="100%">
<%Do until rs.Eof%>
<TR><TD><font face="Verdana" size="1"><b>Namn: <% = rs("Namn")%></b></font></TD>
<TR><TD><font face="Verdana" size="1"><b>Epost: <% = rs("Epost")%></b></font></TD>
<TR><TD><font face="Verdana" size="1"><b>Datum: <% = rs("Datum")%></b></font></TD></TR>
<TR>
<TD Width="100%" Colspan="3"><font face="Verdana" size="1"><b>Inlägg: <% = rs("inlägg")%>
</b></font>
<HR Size="1">
</TD>
<% rs.Movenext
Loop
Rs.Close
conn.Close %>
</TR>
</TABLE>
</BODY>
</HTML>

Någon som kan hjälpa mig??

Medlem sedan juni 2000161 inlägg
#2

Vilka felmeddelanden får du?

Medlem sedan dec. 20018 inlägg
#3

Jag får inget felmeddelande,utan det står bara att sidan kan inte visas.

Kolla
http://www.jockesweb.net/egnaasp/gastopen.htm

Medlem sedan juni 20003 169 inlägg
#4

Här har du ditt felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

/egnaasp/gast1.asp, line 13

Stäng av IE's egna felmeddelanden (verktyg - internet alt. - avancerat).

Medlem sedan juni 20003 169 inlägg
#5

Glömt databaskopplingen kanske? ;)

Medlem sedan juni 2000161 inlägg
#6

När jag försöker lägga in ett meddelande får jag följande fel:

Microsoft OLE DB Provider for ODBC Drivers error '80004005' 

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified 

/egnaasp/gast1.asp, line 13

Rad 13 i gast1.asp är troligen Con.Open "gast".

Con.Open används för att öppna en förbindelse mot databasen. "gast" skall i detta läget bytas ut mot antingen en drivrutin med vilken du kommunicerar med databasen eller specifikationer gällande en DSN.

Ex.:

"DRIVER={Microsoft Access Driver (*.mdb)};DBQ= D:\wwwroot\database\myDatabase.mdb"

eller

""DSN=myDSN;UID=myUsername;PWD=myPass;DATABASE=myDatabase""

Hoppas det hjälper något...

/M.

Medlem sedan dec. 20018 inlägg
#7

Är nybörjare... Började i Fredags...
Skulle du kunna hjälpa mig med det???

Mycket tacksam

Medlem sedan juni 2000161 inlägg
#8

I fredags... där ser man. :)

Iallafall. Leta redan på din access-databas, högerklicka på den och välj egenskaper. Markera "location" och klipp in det i din kod. Det vi letar efter här är sökvägen till databasen. Den skall vara nått i stil med "C:\minMapp\minDatabas.mdb"

Sökvägen petar du in i följande textsträng (istället för D:\wwwroot...):

"DRIVER={Microsoft Access Driver (*.mdb)};DBQ= D:\wwwroot\database\myDatabase.mdb"

Slutligen klistrat du in textsträngen i sin helhet: T.ex.:

conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ= C:\minMapp\minDatabas.mdb"

Börja där, så får vi se...

Medlem sedan dec. 20018 inlägg
#9

Jag tackar för all hjälp. Det är verkligen skit snällt. Men nu får jag det här meddelande:

Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/egnaasp/gast1.asp, line 12

conn.open "DRIVER={Microsoft Access Driver (gastbok.mdb)};DBQ=
--------------------------------------------------------------^

??????

Medlem sedan dec. 200012 464 inlägg
#10

Hur ser rad 10-15 ut?

Medlem sedan dec. 20018 inlägg
#11

<%
If Len(Trim(namn)) > 0 Then
conn.open "DRIVER={Microsoft Access Driver (gastbok.mdb)};DBQ= <A HREF="http://www.jockesweb.net/egnaasp/gastbok.mdb"" TARGET=_blank>http://www.jockesweb.net/egnaasp/gastbok.mdb"</A>
datum = date()
If Len(Trim(epost)) = 0 Then epost = " "
sql = "Insert into Post (Namn, Epost, Inlagg, datum)"
sql = sql & "Values (" & namn & "," & Epost & "," & Inlagg & ","

Medlem sedan dec. 200012 464 inlägg
#12

Du kan inte skriva ett statement över flera rader i VB-script.

Du får göra så här i så fall

<%
If Len(Trim(namn)) > 0 Then
conn.open "DRIVER={Microsoft Access Driver (gastbok.mdb)};DBQ=" & _ 
"http://www.jockesweb.net/egnaasp/gastbok.mdb" 
datum = date()
If Len(Trim(epost)) = 0 Then epost = " "
sql = "Insert into Post (Namn, Epost, Inlagg, datum)"
sql = sql & "Values (" & namn & "," & Epost & "," & Inlagg & ","
Medlem sedan juni 200032 967 inlägg
#13

Dessutom två saker:

Det första: du kan inte ange en http-sökväg till databasen, utan du måste ange fysisk sökväg, dvs typ C:\bla\bla\gastbok.mdb.

För det andra så skall det stå *.mdb i parentesen:

conn.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & _ 
server.mappath("egnaasp/gastbok.mdb")

Mvh,

279 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
152 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)