webForumDet fria alternativet
Logga in / Bli medlem

Expected Identifier

ASP

18 svar · 765 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Trådstart#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

Medlem sedan juni 200032 967 inlägg
#2

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

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

Medlem 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%\>
Medlem 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.

Medlem 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)

Medlem sedan dec. 19996 721 inlägg
#6

Är det uppdateringen som misslyckas eller visningen?

Medlem sedan feb. 20032 027 inlägg
#7

visningen

Medlem sedan juni 200032 967 inlägg
#8

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

Medlem 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&""
%>
Medlem sedan dec. 19996 721 inlägg
#10

Så problemet är löst?

Medlem sedan feb. 20032 027 inlägg
#11

visade baa koden, problemet är fortfarande olöst

Medlem 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&""
Medlem 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

Medlem 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

Medlem 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?

Medlem 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

Medlem sedan dec. 19996 721 inlägg
#17

WebbisNet skrev:

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

Varför då?

Medlem 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
Medlem 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.

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