webForumDet fria alternativet

Expected Identifier

18 svar · 765 visningar · startad av WebbisNet

WebbisNetMedlem sedan feb. 20032 027 inlägg
#1

i mitt pagingscript la jag till nr 5, private

username = arrRecords(0,I)
picture = arrRecords(1,I)
gbDate = arrRecords(2,I)
gbTime = arrRecords(3,I)
gbRead = arrRecords(4,I)
private = arrRecords(5,I)
gbMessage = arrRecords(6,I)
gbID = arrRecords(7,I)
Avatar = arrRecords(8,I)
userID = arrRecords(9,I)
vip = arrRecords(10,I)
mobil = arrRecords(11,I)

och får detta svar

Microsoft VBScript compilation error '800a03f2'

Expected identifier

/guestbook/GBcpaging.asp, line 142

private = arrRecords(5,I)
--------^

private finns med här, i sql-strängen och kolumnen finns i db

@ndersMedlem sedan juni 200032 969 inlägg
#2

Private är ett nyckelord i VBScript.
Byt namn på variabeln.

Använd gärna ungersk notation, så slipper du dylika problem.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#3

det gick bättre, visste inte hur man bytte namn så jag skapade en ny kolumn som heter pprivate

min sql är nu
if request.form("chkPrivat") = "J" then
SQL = "update tblUsers_guestbook set Private=1 where toUser="&varToUser
objConn.Execute SQL
else
SQL1 = "update tblUsers_guestbook set Private=0 where toUser="&varToUser
objConn.Execute SQL1
end if

och den sparar en etta när man kryssar i rutan, men nedanstående visar inte meddelandet om det är en etta (att meddelandet är privat) utan visar bara gb-inlägget oavsett vad

\<%if pprivate = 1 then%\>
		Meddelandet är privat och kan enbart läsas av mottagaren
		\<%else%\>
		\<%sText = replace(gbMessage,"\<","&nbsp;")
		sText = replace(gbMessage,"\>","&nbsp;")
		sText = replace(makeHtml(gbMessage),vbCrLf,"\<br\>")
		Response.Write sText%\>\<br\>
		\<%End if%\>
emissionMedlem sedan dec. 19996 721 inlägg
#4

WebbisNet skrev:

det gick bättre, visste inte hur man bytte namn så jag skapade en ny kolumn som heter pprivate

Det var bara variabeln du behövde byta namn på.

WebbisNet skrev:

min sql är nu
if request.form("chkPrivat") = "J" then
SQL = "update tblUsers_guestbook set Private=1 where toUser="&varToUser
objConn.Execute SQL
else
SQL1 = "update tblUsers_guestbook set Private=0 where toUser="&varToUser
objConn.Execute SQL1
end if

Bytte du namn på kolumnen så borde det återspeglas här.

WebbisNetMedlem sedan feb. 20032 027 inlägg
#5

får det inte att stå at det är privat med koden
if request.form("chkPrivat") = "J" then
SQL = "update tblUsers_guestbook set pprivate=1 where gbID="&varGBID&""
objConn.Execute SQL
end if

(jag får med variabeln till GBID)

emissionMedlem sedan dec. 19996 721 inlägg
#6

Är det uppdateringen som misslyckas eller visningen?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#7

visningen

@ndersMedlem sedan juni 200032 969 inlägg
#8

På vilket sätt funkar inte visningen då, och hur ser den (relevanta) koden ut?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#9

Det var visst att inget värde sparas i db och inte visningen, kan nån se felet här???

<%
Dim objConn, addPost
Dim varFromUser,varToUser,varGBDate,varIP, varMessage
Dim txtFromUser,txtToUser,txtGBDate,txtIP,txtAddMessage

varFromUser = FriendlySQL(Request.Form ("txtFromUser"))
varToUser = FriendlySQL(Request.Form ("txtToUser"))
varMessage = FriendlySQL(Request.Form ("txtAddMessage"))
varFran = FriendlySQL(Request.Form ("txtName"))
varAvatar = FriendlySQL(Request.Form ("txtAvatar"))
varGBDate = Date()
varGBTime = Time()
varIP = FriendlySQL(Request.Form ("txtIP"))
'varGBID = FriendlySQL(Request.Form ("txtGBID"))

	SET objConn = connect()
	addPost = "INSERT INTO tblUsers_guestbook"
	addPost = addPost & "([fromUser],[toUser],[gbMessage],[gbDate],[gbTime],[gbIP],[Avatar],[gbRead]) "
	addPost = addPost & "VALUES('"& varFromUser &"','"& varToUser &"','"& varMessage &"',#"& varGBDate &"#,'"& varGBTime &"','"& varIP &"','"& varAvatar &"',true)"

	'response.write addPost
	'response.end
	
if request.form("chkPrivat") = "J" then
varGBID = FriendlySQL(Request.Form ("txtGBID"))
SQL = "update tblUsers_guestbook set pprivate=1 where gbID="&varGBID&""
objConn.Execute SQL
else
SQL1 = "update tblUsers_guestbook set pprivate=0 where gbID="&varGBID&""
objConn.Execute SQL1
end if

objConn.Execute(addPost)
	response.redirect "/guestbook/GB.asp?toUser="&varToUser&"&name="&varFran&"&fromUser="&varFromUser&""
%>
emissionMedlem sedan dec. 19996 721 inlägg
#10

Så problemet är löst?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#11

visade baa koden, problemet är fortfarande olöst

WebbisNetMedlem sedan feb. 20032 027 inlägg
#12

Ingen etta sätts i pprivate när rutan är markerad

varFromUser = FriendlySQL(Request.Form ("txtFromUser"))
varToUser = FriendlySQL(Request.Form ("txtToUser"))
varMessage = FriendlySQL(Request.Form ("txtAddMessage"))
varFran = FriendlySQL(Request.Form ("txtName"))
varAvatar = FriendlySQL(Request.Form ("txtAvatar"))
varGBDate = Date()
varGBTime = Time()
varIP = FriendlySQL(Request.Form ("txtIP"))

	SET objConn = connect()
	addPost = "INSERT INTO tblUsers_guestbook"
	addPost = addPost & "([fromUser],[toUser],[gbMessage],[gbDate],[gbTime],[gbIP],[Avatar],[gbRead]) "
	addPost = addPost & "VALUES('"& varFromUser &"','"& varToUser &"','"& varMessage &"',#"& varGBDate &"#,'"& varGBTime &"','"& varIP &"','"& varAvatar &"',true)"
	objConn.Execute(addPost)
	response.write addPost
	'response.end

[B]if request.form("chkPrivat") = "1" then
varGBID = FriendlySQL(Request.Form ("txtGBID"))
SQL = "update tblUsers_guestbook set pprivate=1 where gbID="& varGBID
objConn.Execute(SQL)
else
SQL = "update tblUsers_guestbook set pprivate=0 where gbID="& varGBID
objConn.Execute(SQL1)
end if[/B]
'response.write SQL 

response.redirect "/guestbook/GB.asp?toUser="&varToUser&"&name="&varFran&"&fromUser="&varFromUser&"&id="&varGBID&""
emissionMedlem sedan dec. 19996 721 inlägg
#13

Stoppa in ettan/nollan direkt i INSERT:en. Det blir onödigt att köra en UPDATE.

Red: Jag utgår från att det är inlägget som du stoppar in med INSERT som du också vill sätta "pprivate" på. Då måste du i princip göra som jag skrev ovan, eftersom du inte vet vilket id som inlägget har när du ska göra UPDATE:n

WebbisNetMedlem sedan feb. 20032 027 inlägg
#14

jag kan inte sätta det direkt i inserten eftersom användaren bestämmer om det ska vara privat eller inte, ett värde där gäller ju ALLA kommande inlägg, har jag en etta där blir alla privata...inte så det är menat...därför har jag checkboxen som bestämmer värdet

eftersom senaste posten alltid är tom i db så finns åxå ett id så gbID är av typen räknare så det finns ett id

emissionMedlem sedan dec. 19996 721 inlägg
#15

WebbisNet skrev:

jag kan inte sätta det direkt i inserten eftersom användaren bestämmer om det ska vara privat eller inte, ett värde där gäller ju ALLA kommande inlägg, har jag en etta där blir alla privata...

Nu hänger jag inte med. INSERT:en stoppar väl bara in 1 inlägg, så varför skulle det påverka alla?

WebbisNet skrev:

eftersom senaste posten alltid är tom i db så finns åxå ett id så gbID är av typen räknare så det finns ett id

Är senaste posten tom? Finns det en rad i tabellen innan inlägget skapats?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#16

Det påverkar alla genm att när en skriver så ligger det en etta i inserten och inlägget blir hemligt och när nästa skriver så ligger ettan kvar trots att de kanske inte vill att det ska vara det, samma med om man sätter en nolla.....jag vill ha valfriheten genom checkboxen

emissionMedlem sedan dec. 19996 721 inlägg
#17

WebbisNet skrev:

och när nästa skriver så ligger ettan kvar

Varför då?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#18

löste det så här

if request.form("chkPrivat") = varGBID then
SET objConn = connect()
	addPost = "INSERT INTO tblUsers_guestbook"
	addPost = addPost & "([fromUser],[toUser],[gbMessage],[gbDate],[gbTime],[gbIP],[Avatar],[gbRead], [pprivate]) "
	addPost = addPost & "VALUES('"& varFromUser &"','"& varToUser &"','"& varMessage &"',#"& varGBDate &"#,'"& varGBTime &"','"& varIP &"','"& varAvatar &"',true, true)"
	objConn.Execute(addPost)
	response.write addPost
	'response.end
else
SET objConn = connect()
	addPost = "INSERT INTO tblUsers_guestbook"
	addPost = addPost & "([fromUser],[toUser],[gbMessage],[gbDate],[gbTime],[gbIP],[Avatar],[gbRead], [pprivate]) "
	addPost = addPost & "VALUES('"& varFromUser &"','"& varToUser &"','"& varMessage &"',#"& varGBDate &"#,'"& varGBTime &"','"& varIP &"','"& varAvatar &"',true, false)"
	objConn.Execute(addPost)
	response.write addPost
	'response.end

end if
emissionMedlem sedan dec. 19996 721 inlägg
#19

Precis, det gick att lösa i INSERT:en. Är fortfarande inte med på allt, men om det funkar så funkar det.

137 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)