webForumDet fria alternativet

Hjälp! Sidan kan inte visas... Varför?

ASP

27 svar · 604 visningar · startad av Jeppez

Medlem sedan jan. 200263 inlägg
Frågan#1

Har byggt ihop en liten community och allt fungerar bra tills jag försöker fixa så att varje medlem ska få en egen gästbok blir allt fel..
Har länkat allt rätt ( tror jag iaf eftersom den delar ut ett id ( las_gb.asp?gbID=<%=Session("UserID")%> ) )

Försöker jag klicka på den länken så står det bara Sidan kan inte visas.. Inga fel medelanden eller ngt ... Vad ska jag göra ?

Kan skicka upp koden för las_gb.asp.

------------------------------------------------------------

<%
Dim objConn 'as object
Dim strConn 'as string
Dim strSQL 'as string
Dim lngUserID 'as long
Dim rstGuestbook 'as recordset
Dim strHTML 'as string
Dim strTemp 'a string

lngUserID = Request.QueryString("userID")

if not IsNumeric(lngUserID) then Response.Redirect("inloggad.asp")

Set objConn = server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/community.mdb")
objConn.Open strConn

strSQL = ""
strSQL = strSQL & "SELECT "
strSQL = strSQL & "tblUsers.userLoginName, "
strSQL = strSQL & "tblGuestbook.gbDateTime, "
strSQL = strSQL & "tblGuestbook.gbText, "
strSQL = strSQL & "tblUsers.userID, "
strSQL = strSQL & "tblGuestbook.gbFromUserID "
strSQL = strSQL & "FROM tblGuestbook "
strSQL = strSQL & "INNER JOIN tblUsers ON tblGuestbook.gbFromUserID = tblUsers.userID "
strSQL = strSQL & "WHERE tblGuestbook.gbUserID = " & lngUserID & " "
strSQL = strSQL & "ORDER BY tblGuestbook.gbDateTime DESC"
Set rstGuestbook = Server.CreateObject("ADODB.Recordset")
rstGuestbook.Open strSQL, objConn, 3, 3

if (rstGuestbook.EOF or rstGuestbook.BOF) then 'Gästboken är tom
strHTML = ""
strHTML = "Tom gästbok."
else 'Gästboken är inte tom
'Skapa html-kod som skall skrivas ut på sidan
strHTML = ""
strHTML = strHTML & "<table border=""0"">"
do while not rstGuestbook.EOF
strHTML = strHTML & "<tr>"
strHTML = strHTML & "<td>"
strHTML = strHTML & "<a href=""userInfo.asp?userID=" & rstGuestbook(4) & """>" & rstGuestbook(0) & "</a>"
strHTML = strHTML & " <i>" & left(rstGuestbook(1), len((rstGuestbook(1))-3)) & "</i>" 'Ta bort sekunderna i datum/tiden
strHTML = strHTML & "</td>"
strHTML = strHTML & "</tr>"
strHTML = strHTML & "<tr>"
strHTML = strHTML & "<td>"
'Ta bort ogiltiga tecken i inläggen
strTemp = Replace(rstGuestbook(2), "<", "<")
strTemp = Replace(strTemp, ">", ">")
strHTML = strHTML & strTemp
strHTML = strHTML & "</td>"
strHTML = strHTML & "</tr>"
strHTML = strHTML & "<tr>"
strHTML = strHTML & "<td>"
strHTML = strHTML & "<hr>"
strHTML = strHTML & "</td>"
strHTML = strHTML & "</tr>"
rstGuestbook.MoveNext
loop
strHTML = strHTML & "</table>"
end if

rstGuestbook.Close
Set rstGuestbook = nothing
objConn.Close
Set objConn = nothing
%>
<html>
<head>
<title>Läs gästbok</title>
</head>
<body>
<a href="inloggad.asp">Tillbaka till startsidan</a><br>
<a href="gb.asp?userID=<%=lngUserID%>">Skriv i gästboken</a>
<br>
<br>
<%
Response.Write(strHTML)
%>
</body>
</html>

/ TACKSAM FÖR ALLA SVAR!

Medlem sedan okt. 20005 273 inlägg
#2

Ta bort vänliga felmedelanden ......I IE under
Verktyg-->internet-alternativ-->avancerat

Mvh icaaq

Medlem sedan jan. 200263 inlägg
#3

vänliga felmeddelande? finns det inget som heter...

Medlem sedan jan. 200263 inlägg
#4

Hittade det!

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'tblGuestbook.gbUserID ='.

/mupp/las_gb.asp, line 35

--------------------------------------------------------------

RAD: 35. ( las_gb.asp )

strSQL = ""
strSQL = strSQL & "SELECT "
strSQL = strSQL & "tblUsers.userLoginName, "
strSQL = strSQL & "tblGuestbook.gbDateTime, "
strSQL = strSQL & "tblGuestbook.gbText, "
strSQL = strSQL & "tblUsers.userID, "
strSQL = strSQL & "tblGuestbook.gbFromUserID "
strSQL = strSQL & "FROM tblGuestbook "
strSQL = strSQL & "INNER JOIN tblUsers ON tblGuestbook.gbFromUserID = tblUsers.userID "
strSQL = strSQL & "WHERE tblGuestbook.gbUserID = " & lngUserID & " "
strSQL = strSQL & "ORDER BY tblGuestbook.gbDateTime DESC"

Set rstGuestbook = Server.CreateObject("ADODB.Recordset")
rstGuestbook.Open strSQL, objConn, 3, 3

Medlem sedan jan. 200263 inlägg
#5

Hittade det! Här är felmeddelandet...

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'tblGuestbook.gbUserID ='.

/mupp/las_gb.asp, line 35

--------------------------------------------------------------

RAD: 35. ( las_gb.asp )

strSQL = ""
strSQL = strSQL & "SELECT "
strSQL = strSQL & "tblUsers.userLoginName, "
strSQL = strSQL & "tblGuestbook.gbDateTime, "
strSQL = strSQL & "tblGuestbook.gbText, "
strSQL = strSQL & "tblUsers.userID, "
strSQL = strSQL & "tblGuestbook.gbFromUserID "
strSQL = strSQL & "FROM tblGuestbook "
strSQL = strSQL & "INNER JOIN tblUsers ON tblGuestbook.gbFromUserID = tblUsers.userID "
strSQL = strSQL & "WHERE tblGuestbook.gbUserID = " & lngUserID & " "
strSQL = strSQL & "ORDER BY tblGuestbook.gbDateTime DESC"

Set rstGuestbook = Server.CreateObject("ADODB.Recordset")
rstGuestbook.Open strSQL, objConn, 3, 3

//TACKSAM FÖR ALLA SVAR!

Medlem sedan mars 20015 287 inlägg
#6

Länken är felaktig. Du kallar först din variabel för gbID sen försöker du plocka ner userID.

Medlem sedan jan. 200263 inlägg
#7

Hur ska länken se ut då ?

Medlem sedan mars 20015 287 inlägg
#8

las_gb.asp?lngUserID=<%=Session("UserID")%>

Medlem sedan jan. 200263 inlägg
#9

Hm, visserligen delar den ut ett ID nu... Men får ändå upp detta felmeddelande...

--------------------------------------------

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'tblGuestbook.gbUserID ='.

/mupp/las_gb.asp, line 36

Medlem sedan juni 200032 967 inlägg
#10

det skall inte stå lngUserID i länken, utan bara userID. Det är ju det du plockar in i variabeln?

Medlem sedan jan. 200263 inlägg
#11

Den ger inte ut ngt ID när jag skriver så.

Medlem sedan juni 200032 967 inlägg
#12

Hur ser koden ut nu alltså?

Medlem sedan jan. 200263 inlägg
#13

las_gb.asp
---------------------------------------------------------------

<%
Dim objConn 'as object
Dim strConn 'as string
Dim strSQL 'as string
Dim lngUserID 'as long
Dim rstGuestbook 'as recordset
Dim strHTML 'as string
Dim strTemp 'a string

lngUserID = Request.QueryString("userID")

if not IsNumeric(lngUserID) then Response.Redirect("inloggad.asp")

Set objConn = server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/community.mdb")
objConn.Open strConn

strSQL = ""
strSQL = strSQL & "SELECT "
strSQL = strSQL & "tblUsers.userLoginName, "
strSQL = strSQL & "tblGuestbook.gbDateTime, "
strSQL = strSQL & "tblGuestbook.gbText, "
strSQL = strSQL & "tblUsers.userID, "
strSQL = strSQL & "tblGuestbook.gbFromUserID "
strSQL = strSQL & "FROM tblGuestbook "
strSQL = strSQL & "INNER JOIN tblUsers ON tblGuestbook.gbFromUserID = tblUsers.userID "
strSQL = strSQL & "WHERE tblGuestbook.gbUserID = " & lngUserID & " "
strSQL = strSQL & "ORDER BY tblGuestbook.gbDateTime DESC"
Set rstGuestbook = Server.CreateObject("ADODB.Recordset")
rstGuestbook.Open strSQL, objConn, 3, 3

if (rstGuestbook.EOF or rstGuestbook.BOF) then 'Gästboken är tom
strHTML = ""
strHTML = "Tom gästbok."
else 'Gästboken är inte tom
'Skapa html-kod som skall skrivas ut på sidan
strHTML = ""
strHTML = strHTML & "<table border=""0"">"
do while not rstGuestbook.EOF
strHTML = strHTML & "<tr>"
strHTML = strHTML & "<td>"
strHTML = strHTML & "<a href=""userInfo.asp?userID=" & rstGuestbook(4) & """>" & rstGuestbook(0) & "</a>"
strHTML = strHTML & " <i>" & left(rstGuestbook(1), len((rstGuestbook(1))-3)) & "</i>" 'Ta bort sekunderna i datum/tiden
strHTML = strHTML & "</td>"
strHTML = strHTML & "</tr>"
strHTML = strHTML & "<tr>"
strHTML = strHTML & "<td>"
'Ta bort ogiltiga tecken i inläggen
strTemp = Replace(rstGuestbook(2), "<", "<")
strTemp = Replace(strTemp, ">", ">")
strHTML = strHTML & strTemp
strHTML = strHTML & "</td>"
strHTML = strHTML & "</tr>"
strHTML = strHTML & "<tr>"
strHTML = strHTML & "<td>"
strHTML = strHTML & "<hr>"
strHTML = strHTML & "</td>"
strHTML = strHTML & "</tr>"
rstGuestbook.MoveNext
loop
strHTML = strHTML & "</table>"
end if

rstGuestbook.Close
Set rstGuestbook = nothing
objConn.Close
Set objConn = nothing
%>
<html>
<head>
<title>Läs gästbok</title>
</head>
<body>
<a href="inloggad.asp">Tillbaka till startsidan</a><br>
<a href="gb.asp?userID=<%=lngUserID%>">Skriv i gästboken</a>
<br>
<br>
<%
Response.Write(strHTML)
%>
</body>
</html>

Medlem sedan mars 20015 287 inlägg
#14

solbulle skrev:

las_gb.asp?lngUserID=<%=Session("UserID")%>

Hupp!
Inte skrev jag som jag gjorde i inlägget innan inte...

las_gb.asp?UserID=<%=Session("UserID")%>

Medlem sedan jan. 200263 inlägg
#15

Men titta! Solbulle min lilla ängel... nu fungerade det, nästan...!

Har ett nytt problem...

Skickar ett inlägg, men den tar inte ??! Alltså inlägget syns inte.

Koden för sidan där man skriver inlägget: ( gb.asp )

--------------------------------------------------------------------

<%
Dim objConn 'as object
Dim strConn 'as string
Dim strSQL 'as string
Dim lngUserID 'as long
Dim rstGuestbook 'as recordset
Dim strHTML 'as string
Dim strTemp 'a string

'Kontrollera om formuläret har skickats och att det skrevs en text
if Request.QueryString("action") = "writeGB" and not Request.Form("gbText") = "" then

'Ta vara på vilken användares gästbok det gäller
lngUserID = Request.Form("userID")

'Ta bort olämpliga tecken ur texten som kan störa sql-frågan när den skickas till databasen
strTemp = ""
strTemp = Replace(Request.Form("gbText"), "'", "''")

'Skapa databaskopplingen
Set objConn = Server.CreateObject("ADODB.Connection")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/community.mdb")
objConn.Open strConn

'Skapa sql-frågan för att välja ut endast angiven användares gästbok.
strSQL = ""
strSQL = strSQL & "INSERT INTO tblGuestbook "
strSQL = strSQL & "(gbUserID, gbDateTime, gbText, gbFromUserID) "
strSQL = strSQL & "VALUES ("
strSQL = strSQL & lngUserID & ", "
strSQL = strSQL & "'" & Now() & "', "
strSQL = strSQL & "'" & strTemp & "', "
strSQL = strSQL & Session("userID")
strSQL = strSQL & ")"

'Stäng och frigör databaskopplingen
objConn.Close
Set objConn = nothing

'Gå tillbaka till gästboken
Response.Redirect("las_gb.asp?userID=" & lngUserID)

end if
%>
<html>
<head>
<title>Läs gästbok</title>
</head>
<body>
<a href="inloggad.asp">Tillbaka till startsidan</a><br><br>
<form name="frmWriteGB" method="post" action="gb.asp?action=writeGB">
<input type="hidden" name="userID" <%Response.Write("value=""") & Request.QueryString("userID") & """"%>>
<textarea name="gbText" rows="10" cols="35"></textarea><br>
<input type="submit" value="Skriv i gästboken">
</form>
</body>
</html>

TACKSAM FÖR SVAR!!

Medlem sedan mars 20015 287 inlägg
#16

red. jag kanske ska tänka innan jag svarar....

Medlem sedan jan. 200263 inlägg
#17

vi får skylla på att det var tidigt på morgonen :)

Medlem sedan juni 200032 967 inlägg
#18

Använd gärna [kod]-taggar så blir koden mer lättläst för oss här på forumet.

Mvh

Medlem sedan jan. 200263 inlägg
#19

Okjj, Tack för tipset... Ännu ingen som har ngn lösning ?

Medlem sedan juni 200032 967 inlägg
#20

På vilket sätt fungerar det inte? Lagras inte gästboksinlägget i databasen? Hur ser koden ut där du ska visa upp det?

265 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)