Avatar billede webbygger Nybegynder
27. august 2003 - 21:39 Der er 15 kommentarer og
1 løsning

Hjælp til Gæstebog

Er der nogle der kan hjælpe mig med, at finde fejl i denne ASP- fil :

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% OPTION EXPLICIT %>
<!--#include file="forbindelse.asp" -->
<html><head><title>Gæstebog</title></head>
<body bgcolor="#FFFFCC">
<%
dim strAction

strAction=request ("action")

select case strAction
case "write"
  ' vis formular til indtastning
  ShowOptions
  ShowForm
case "show"
  ' vis indhold
  ShowOptions
  ShowList request ("fromid")
case "insert"
  ' indsæt resultat af formular
  WriteForm
  ShowOptions
  ShowList 0
case else
  ' vis valgmuligheder
  ShowOptions
end select

'---------------------------------------------------------------------------------------
'Funktioner/procedurer
'---------------------------------------------------------------------------------------

sub ShowForm
  ' viser en formular, hvor den besøgende skal indtaste i.
  %>
  <form action="guestbook.asp?action=insert" method="post">
  Navn : <input type="text" name="guestname"><br>
  Email : <input type="text"  name="guestemail"><br>
  <textarea name="guestmessage"> </textarea><br>
  <input type="submit" value="Indsend">
  <%
end sub

sub ShowList  (intFromID)
  ' viser indlæg i gæstebogen.
  ' 10 indlæg vises ad gangen.
  dim strSQL, objRS, strWhere
  dim arrROws, i
  if intFromID > 0 then
  strWhere = " WHERE guestid <= " & intFromID & " "
  else
  strWhere = ""
  end if
strSQL = "SELECT guestid, guestname, " & _
  "guestemail, guestmessage FROM GuestBOOK " & _
  strWhere & _
  "ORDER BY datesubmitted DESC"
 
  set objRS = server.createobject("ADODB.Recordset") 
  with objRS
    .open strSQL, strConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
    if not .EOF then
      arrRows = .GetRows(10)
    end if
      .close
  end with
  set objRS = Nothing
 
  if isArray(arrRows) then
    intFromID = arrRows(0,ubound(arrRows,2))
    for i = 0 to ubound(arrRows,2)
      response.write arrRows(0,i) & ". " & _
        arrRows(1,i) & _
        "<br>" & arrRows(2,i) & _
        "<br>" & arrRows(3,i) & "<hr>"
    next
    response.write _
        "<a href='guestbook.asp?action=show&fromid=" & intFromID+10 & "'>Tilbage</a> " & _
        "<a href='guestbook.asp?action=show&fromid=" & intFromID - 1 & "'>Frem</a>"
  else
    response.write "<p>Ikke flere indlæg i Gæstebogen.</p>"
  end if
end sub

sub WriteForm
  ' Indlægget skrives til databasen.
  dim strSQL, objCMD
  strSQL = "INSERT INTO GuestBook " & _
    "(guestname, guestsmail, guestmessage, datasubmitted) " & _
    "VALUES (" & _
    "'" & request("guestname") & "', " & _
    "'" & request("guestemail") & "', " & _
    "'" & request("guestmessage") & "', " & _
    "getdate()" & _
    ")"
   
set objCMD = server.createobject("ADODB.Command")
wtih objCMD
  .ActiveConnection = strConnect
  .CommandType = adCmdText
  .CommandText = strSQL
  .Execute
end with
set objCMD = Nothing
end sub

sub ShowOptions
  'Viser, hvilke muligheder der er.
  %>
  <h1>Gæstebog</h1>
  <p>Hej, du kan skrive i min gæstebog, hvis du har lyst.
  <br>
  <a href="guestbook.asp?action=write">Skriv i gæstebogen</a><br>
  <a href="guestbook.asp?action=show">Se hvad andre har skrevet</a>
  </p>
  <%
end sub

%>   
</body></html>


Siden vil simpelthen ikke vises i browseren. Hvad kan der være galt ?
Avatar billede eagleeye Praktikant
27. august 2003 - 21:42 #1
Hvilken fejl får du?? Du kan prøve at slå denne fra i IE, så skulle du gerne få en bedre fejl kode/beskrivelse:

funktioner -> internetindstillinger -> avanceret -> fjern kryds i "vis meddelelse om uskadelige http-fejl"
Avatar billede webbygger Nybegynder
27. august 2003 - 21:52 #2
Denne her meddelelse :

Microsoft VBScript compilation error '800a03f8'

Expected 'Sub'

/guestbook.asp, line 103

end with
----^


Her er linket :

http://www.web-byggeren.dk/guestbook.asp
Avatar billede webbygger Nybegynder
27. august 2003 - 22:19 #3
Hmm...Det går ikke altid som præsten prædikener
Jeg har fået ændre nogle fejl, men der støder nye til
Nu ASP-Filen sådan ud :

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<!--#include file="forbindelse.asp" -->
<html><head><title>Gæstebog</title></head>
<body bgcolor="#FFFFCC">
<%
dim strAction

strAction=request ("action")

select case strAction
case "write"
  ' vis formular til indtastning
  ShowOptions
  ShowForm
case "show"
  ' vis indhold
  ShowOptions
  ShowList request ("fromid")
case "insert"
  ' indsæt resultat af formular
  WriteForm
  ShowOptions
  ShowList 0
case else
  ' vis valgmuligheder
  ShowOptions
end select

'---------------------------------------------------------------------------------------
'Funktioner/procedurer
'---------------------------------------------------------------------------------------

sub ShowForm
  ' viser en formular, hvor den besøgende skal indtaste i.
  %>
  <form action="guestbook.asp?action=insert" method="post">
  Navn : <input type="text" name="guestname"><br>
  Email : <input type="text"  name="guestemail"><br>
  <textarea name="guestmessage"> </textarea><br>
  <input type="submit" value="Indsend">
  <%
end sub

sub ShowList  (intFromID)
  ' viser indlæg i gæstebogen.
  ' 10 indlæg vises ad gangen.
  dim strSQL, objRS, strWhere
  dim arrROws, i
  if intFromID > 0 then
  strWhere = " WHERE guestid <= " & intFromID & " "
  else
  strWhere = ""
  end if
strSQL = "SELECT guestid, guestname, " & _
  "guestemail, guestmessage FROM GuestBook " & _
  strWhere & _
  "ORDER BY datesubmitted DESC"
 
  set objRS = server.createobject("ADODB.Recordset") 
  with objRS
    .open strSQL, strConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
    if not .EOF then
      arrRows = .GetRows(10)
    end if
      .close
  end with
  set objRS = Nothing
 
  if isArray(arrRows) then
    intFromID = arrRows(0,ubound(arrRows,2))
    for i = 0 to ubound(arrRows,2)
      response.write arrRows(0,i) & ". " & _
        arrRows(1,i) & _
        "<br>" & arrRows(2,i) & _
        "<br>" & arrRows(3,i) & "<hr>"
    next
    response.write _
        "<a href='guestbook.asp?action=show&fromid=" & intFromID+10 & "'>Tilbage</a> " & _
        "<a href='guestbook.asp?action=show&fromid=" & intFromID - 1 & "'>Frem</a>"
  else
    response.write "<p>Ikke flere indlæg i Gæstebogen.</p>"
  end if
end sub

sub WriteForm
  ' Indlægget skrives til databasen.
  dim strSQL, objCMD
  strSQL = "INSERT INTO GuestBook " & _
    "(guestname, guestsmail, guestmessage, datasubmitted) " & _
    "VALUES (" & _
    "'" & request("guestname") & "', " & _
    "'" & request("guestemail") & "', " & _
    "'" & request("guestmessage") & "', " & _
    "getdate()" & _
    ")"
   
set objCMD = server.createobject("ADODB.Command")
with objCMD
  .ActiveConnection = strConnect
  .CommandType = adCmdText
  .CommandText = strSQL
  .Execute
end with
set objCMD = Nothing
end sub

sub ShowOptions
  'Viser, hvilke muligheder der er.
  %>
  <h1>Gæstebog</h1>
  <p>Hej, du kan skrive i min gæstebog, hvis du har lyst.
  <br>
  <a href="guestbook.asp?action=write">Skriv i gæstebogen</a><br>
  <a href="guestbook.asp?action=show">Se hvad andre har skrevet</a>
  </p>
  <%
end sub

%>   
</body></html>
Avatar billede htmlkongen Novice
27. august 2003 - 22:22 #4
Hmmm som HTML-konge synes jeg det er svært :|
Avatar billede webbygger Nybegynder
27. august 2003 - 22:25 #5
Helt enige - men alt begyndes er svært har jeg fundet ud af ;o)
Avatar billede eagleeye Praktikant
27. august 2003 - 23:12 #6
Det er lettere hvis vi kender fejlen eller hvad der ser?
Avatar billede webbygger Nybegynder
27. august 2003 - 23:17 #7
Hvis det kan hjælp jer, så ser mim forbindelse sådan ud :

<%
Set database = Server.CreateObject ("ADODB.Connection")
conn = "DRIVER={Microsoft Access Driver (*.mdb)}; "
conn = conn & "DBQ=" & server.mappath("log/TTASP.mdb")
%>


Jeg har godtnok set, at man tilføj denne her i forbindelsen :

<!--METADATA TYPE="typelib"
FILE="C:\Program Files\Common Filea\System\ado\msado15.dll" -->

Det skulle have noget med konstanter at gør ??????
Avatar billede webbygger Nybegynder
27. august 2003 - 23:21 #8
Når jeg vil indsende noget så kommer denne her fejl :
ADODB.Command error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/guestbook.asp, line 106


Når jeg vil se indlæg for jeg dennefejl :

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/guestbook.asp, line 68
Avatar billede webbygger Nybegynder
27. august 2003 - 23:24 #9
fejl 1 = .ActiveConnection = strConnect



fejl 2 =  .open strSQL, strConnect, adOpenForwardOnly, adLockReadOnly, adCmdText
Avatar billede eagleeye Praktikant
27. august 2003 - 23:27 #10
Du mangler helt din connection .. Der er bare en variable:  strConnect
som aldrig bliver sat til noget.
Avatar billede webbygger Nybegynder
27. august 2003 - 23:36 #11
HMmm...hvad skal det sige
den er da indsat i starten eller hvad

Jeg er grøn i ASP ;o)
Avatar billede eagleeye Praktikant
27. august 2003 - 23:39 #12
arh denne include fil:
<!--#include file="forbindelse.asp" -->


Prøv at lave denne linje:
.open strSQL, strConnect, adOpenForwardOnly, adLockReadOnly, adCmdText


Om til:

.open strSQL, strConnect, 1
Avatar billede eagleeye Praktikant
27. august 2003 - 23:39 #13
det var linje 68
Avatar billede webbygger Nybegynder
27. august 2003 - 23:58 #14
virker desværre ikke ....
Kikker videre i morgen
Godnat
Avatar billede eagleeye Praktikant
16. september 2003 - 23:35 #15
Har du kigget vidre på det?
Avatar billede webbygger Nybegynder
24. september 2003 - 20:29 #16
Har opgivet det.....:o(
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