Och vad har du som skriver ut det då?
Alltså skriver du ut Streng eller FormatTecken?
Testa för det första att skriva ut content o se så att du har nåt i den öht.
20 svar · 540 visningar · startad av McMiller
jag ahr lite problem med replace kod. den vill inte visa det som hämtats från databasen om den innehåller <br>. kan inte förstå varför.
Streng=Request.Form("content")
on Error resume next
Streng = Replace(Streng, chr(13), " ")
Streng = Replace(Streng, chr(10) & chr(10), "<br><br>")
Streng = Replace(Streng, chr(10), "<br>")
FormateraTecken = Streng
exakt samma kod fungerar på en annan sida perfekt.
Och vad har du som skriver ut det då?
Alltså skriver du ut Streng eller FormatTecken?
Testa för det första att skriva ut content o se så att du har nåt i den öht.
har provat att skriva ut content, men då blir det sidan kan inte visas. det är FormateraTecken som jag använder.
jag citerar mig själv från tidigare idag:
jag undrar hur många gånger jag sagt detta, men:
stäng av 'friendly error messages' i webbläsarhelvetet!
hur kan man jobba när man inte ser vad som blir fel?
tools -> internet options -> advanced -> friendly http error messages
eller
verktyg -> internetalternativ -> avancerat -> visa egna http-felmeddelandenvad gäller det svenska så är jag inte riktigt helt säker på att det står precis så.
leverera felmeddelandet till oss om du inte förstår det själv.
har slagit om till det nu på den här datorn. men det jag har problem med generar inga felmeddelanden. den bara struntar i att skriva ut.
ta och slå av on error resume next också...
har slagit av on error resume next nu.
nu får jag upp detta:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id='.
/savenew.asp, line 36
har försökt lösa det men hittar inte felet. det har fungerat felfritt förut.
här är hela koden
Set Conn=Server.CreateObject("ADODB.Connection")
Set rs=Server.CreateObject("ADODB.Recordset")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/forum.mdb") & " ;PWD="
checkup="SELECT nick, password, id, nrposts FROM users WHERE nick='"&Request.Form("username")&"' AND password='"&Request.Form("password")&"'"
rs.Open checkup, Conn, 0, 3, &H0001
If not rs.EOF Then
wid=rs("id")
poster=rs("nrposts")
nicko=rs("nick")
End IF
rs.Close
If nicko<>"" OR Request.Form("username")<>"" AND Request.Form("password")<>"" AND Request.Form("content")<>"" AND Request.Form("title")<>"" Then
tid=time
datum=date
tdatum=datum&", "&tid
Streng=Request.Form("content")
Streng = Replace(Streng, chr(13), "")
Streng = Replace(Streng, chr(10) & chr(10), "<br> <br>")
Streng = Replace(Streng, chr(10), "<br>")
FormateraTecken = Streng
gbook="INSERT INTO inlays(title, writer, message, posted, icon, tid, writerid) VALUES ('"&Request.Form("title")&"','"&Request.Form("username")&"','"&FormateraTecken&"','"&tdatum&"','"&Request.Form("icon")&"','"&tid&"','"&wid&"')"
Conn.Execute (gbook)
setid="SELECT writer, id, title, writerid FROM inlays WHERE writer='"&Request.Form("username")&"' AND title='"&Request.Form("title")&"' AND message='"&FormateraTecken&"'"
rs.Open setid, Conn, 0, 3, &H0001
idi=rs("id")
widi=rs("writerid")
rs.Close
gbook2="UPDATE inlays SET replyto='"&idi&"' WHERE id="&idi&""
Conn.Execute (gbook2)
nrposty=poster+1
gbook3="UPDATE users SET nrposts='"&nrposty&"' WHERE id="&widi&""
Conn.Execute (gbook3)
någon av variablerna idi och widi är tom.
skriv ut båda sql-frågorna (gbook2 och gbook3) med response.write så får du se att ett värde saknas, och det är endera av dessa.
sen kan du ju plocka bort &"" från slutet av dina sql-frågor, för det tjänar ju ingenting till att lägga en tom sträng till en sträng.
jag tror felet ligger i variabeln wid. för inget skrivs in i den rutan som det ska skrivas in i. och det är från den rutan som widi hämtar värde från. kom på det nu. då återstår nog bara att komma på varför wid inte fylls.
Behöver hjälp med detta snabbt. SNÄLLA!!
du plockar ju writerid in i variabeln widi från följande sql-fråga:
setid="SELECT writer, id, title, writerid FROM inlays WHERE writer='"&Request.Form("username")&"' AND title='"&Request.Form("title")&"' AND message='"&FormateraTecken&"'"
om du inte vill att writerid ska vara tom så får du ju se till att den inte är det i tabellen, ju!
vad vill du ha hjälp med?
problemet ligger nog här
wid=rs("id")
wid ska läggas in i writerid men den skriver inte i nåt där. och jag får inte ordning på det.
vad är alltså problemet?
att det inte finns något writerid i databasen, eller wass?
*fattar nada*
det skrivs inte in nåt....HJÄLP!!!
Nån som ser något fel i koden? för den vill inte skriva in variablen wid i db:n!!! HJÄLP!!!
Gör en Response.Write gbook och klistra in resultatet här. Det är ju uppenbarligen i INSERT INTO-uttrycket som något blir fel.
Hej!
Kanske en dum fråga men hur ändrar man ordningsföljden på kolumn-namnen i SQL-Servern egentligen? I Access är det ju bara att dra och släppa.
ooops...postade detta inlägg lite fel....
Hej!
Kanske en dum fråga men hur ändrar man ordningsföljden på kolumn-namnen i SQL-Servern egentligen? I Access är det ju bara att dra och släppa.