webForumDet fria alternativet

Min första gästbok

ASP

12 svar · 438 visningar · startad av jockesweb

Medlem sedan dec. 20018 inlägg
Frågan#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??

------------------
www.Jockesweb.net

Medlem sedan juni 2000161 inlägg
#2

Vilka felmeddelanden får du?

------------------
To understand recursion, we must first understand recursion.

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

------------------
www.Jockesweb.net

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).

------------------
Mvh. Wiberg

Medlem sedan juni 20003 169 inlägg
#5

Glömt databaskopplingen kanske? ;)

------------------
Mvh. Wiberg

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.

------------------
To understand recursion, we must first understand recursion.

Medlem sedan dec. 20018 inlägg
#7

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

Mycket tacksam

------------------
www.Jockesweb.net

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...

------------------
To understand recursion, we must first understand recursion.

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=
--------------------------------------------------------------^

??????

------------------
www.Jockesweb.net

Medlem sedan dec. 200012 464 inlägg
#10

Hur ser rad 10-15 ut?

------------------
essentitia preter non sans multiplicandum

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 & ","

------------------
www.Jockesweb.net

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 & ","

------------------
essentitia preter non sans multiplicandum

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,

------------------
Don't panic!

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)