Ta bort vänliga felmedelanden ......I IE under
Verktyg-->internet-alternativ-->avancerat
Mvh icaaq
27 svar · 604 visningar · startad av Jeppez
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!
Ta bort vänliga felmedelanden ......I IE under
Verktyg-->internet-alternativ-->avancerat
Mvh icaaq
vänliga felmeddelande? finns det inget som heter...
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
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!
Länken är felaktig. Du kallar först din variabel för gbID sen försöker du plocka ner userID.
Hur ska länken se ut då ?
las_gb.asp?lngUserID=<%=Session("UserID")%>
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
det skall inte stå lngUserID i länken, utan bara userID. Det är ju det du plockar in i variabeln?
Den ger inte ut ngt ID när jag skriver så.
Hur ser koden ut nu alltså?
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>
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")%>
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!!
red. jag kanske ska tänka innan jag svarar....
vi får skylla på att det var tidigt på morgonen :)
Okjj, Tack för tipset... Ännu ingen som har ngn lösning ?
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?