webForumDet fria alternativet

request fungerar inte

17 svar · 436 visningar · startad av LR^evil.sid

LR^evil.sidMedlem sedan maj 2002552 inlägg
#1

här sätts ett värde ( har kollat genom "view source" )

[red]response.write "	<input type = 'hidden' value = '" & rs ( "gb_id" ) & "' name = 'msgid'>" & vbcrlf[/red]

här skall ett värde hämtas

[red]set con = server.createobject ( "adodb.connection" )
con.open = driver
con.execute ( " select gb_id, gb_usr from gb where gb_id = "&request ( "msgid" )&" " )[/red]

men det fungerar inte. request ( "msgid" ) innehåller inget värde när jag tittar

jboy_87Medlem sedan aug. 20011 105 inlägg
#2

request ( "msgid" )
till:
request.form( "msgid" )

LR^evil.sidMedlem sedan maj 2002552 inlägg
#3

har testat det. det fungerar inte heller ( och heller inte request.form ( "msgid" ) ) jag har testat utan några som hellst mellanslag med samma resultat.

emissionMedlem sedan dec. 19996 095 inlägg
#4

Mellanslagen ska bort, även om det knappast är det som orsakar problemet. Visa gärna mer kod.

LarsGMedlem sedan dec. 200012 465 inlägg
#5

Har du något formelement på den sidan? Dvs, húr ser resten av HTML-koden ut?

LR^evil.sidMedlem sedan maj 2002552 inlägg
#6

delen som skriver ut databasen

[red]<!-- #include file = 'inc/head.inc' -->
<!-- #include file = 'inc/func.inc' -->
					<table width = '100%' cellpadding = '2' cellspacing = '0' border = '0' bgcolor = '#fafafa'>
<%
	dim driver, con, rs, rd, sql, itemdate, itemtime
	dim goOn, errMess, errEml, gb_eml
	dim i, trcolor
	dim gb_post, gb_usr, gb_home

	driver = ( "driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath ( "\project\db\db.mdb" ) )

	select case request ( "action" )
		case ""
			set con = server.createobject ( "adodb.connection" )
			con.open = driver
			set rs = con.execute ( " select gb_id, gb_usr, gb_eml, gb_home, gb_post, gb_time from gb order by gb_time desc" )

			i = 0

			response.write "[blue]<form action = '" & request.servervariables ( "script_name" ) & "' method = 'post'>[/blue]" & vbcrlf

			do while not rs.eof
				set rd = con.execute ( " select gb_time, format$ ( [gb_time], 'dddd dd mmm yyyy' ) as itemdate, format$ ( [gb_time], 'HH:mm' ) as itemtime from gb where gb_id = "&rs ( "gb_id" )&" " )
				gb_post = rs ( "gb_post" )
				gb_post = gb_postFixOut(gb_post)
				gb_post = formatCrLf(gb_post)

				gb_usr = rs ( "gb_usr" )
				gb_usr = gb_usrFixOut(gb_usr)

				gb_home = rs ( "gb_home" )
				gb_home = gb_homeFixOut(gb_home)

				call(colortr)
				response.write "<tr bgcolor = '#" & trcolor & "'>" & vbcrlf
				response.write "<td width = '56'><font color = '#000088'>posted by</font></td>" & vbcrlf
				response.write "<td>:&nbsp;</td>" & vbcrlf
				response.write "<td><font color = '#990077'>" & gb_usr & "</font> @ <font color = '#000077'>" & lcase ( rd ( "itemdate" ) ) & " " & lcase ( rd ( "itemtime" ) ) & "</font>"
				if not len ( rs ( "gb_eml" ) ) = 0 then
					response.write " <a href = 'mailto:" & rs ( "gb_eml" ) & "'><img src = 'img/eml.gif' alt = 'mail to: " & gb_usr & "' border = '0'></a>"
				end if
				if not len ( gb_home ) = 0 then
					response.write " <a href = 'http://" & gb_home & "' target = '_blank'><img src = 'img/home.gif' alt = 'http://" & gb_home & "' border = '0'></a>"
				end if
				response.write " <a href='" & request.servervariables ( "script_name" ) & "?action=re'><img src = 'img/reply.gif' alt = 'reply to message' border = '0'></a></td>" & vbcrlf
				response.write "<td align = 'right'><a href='index.asp?action=edit'><img src = 'img/edit.gif' alt = 'edit your message' border = '0'></a>"
				response.write " <a href='index.asp?action=del'><img src = 'img/delete.gif' alt = 'delete form messagebord' border = '0'></a>"
				response.write " <a href='index.asp?action=ip'><img src = 'img/ip.gif' alt = 'show ip' border = '0'></a></td>" & vbcrlf
				response.write "<input type = 'hidden' value = '" & rs ( "gb_id" ) & "' name = 'msgid'>" & vbcrlf
				response.write "</tr>" & vbcrlf
'				call(colortr)
				response.write "<tr bgcolor = '#" & trcolor & "'>" & vbcrlf
				response.write "<td valign = 'top'><font color = '#000077'>message</font></td>" & vbcrlf
				response.write "<td valign = 'top'>:&nbsp;</td>" & vbcrlf
				response.write "<td colspan = '2'>" & gb_post & "</td>" & vbcrlf
				response.write "</tr>" & vbcrlf
				rs.movenext
			loop

			response.write "					</table>" & vbcrlf

			rs.close
			con.close

			set rs = nothing
			set con = nothing

			i = ""
			trcolor = ""
%>
				</td>
			</tr>
		</table>
		<br>
		<table cellpadding = '1' cellspacing = '0' border = '0' bgcolor = '#fafafa'>
			<tr bgcolor = '#fafafa'>
				<td>
					<table cellpadding = '2' cellspacing = '0' border = '0' bgcolor = '#fafafa'>
						<tr>
							<td colspan = '3'>submit your message:</td>
						</tr>
						<tr>
							<td>usr</td>
							<td>:&nbsp;</td>
							<td><input type = 'text' name = 'usr'></td>
						</tr>
						<tr>
							<td>eml</td>
							<td>:&nbsp;</td>
							<td><input type = 'text' name = 'eml'></td>
						</tr>
						<tr>
							<td>home</td>
							<td>:&nbsp;</td>
							<td><input type = 'text' value = 'http://' name = 'home'></td>
						</tr>
						<tr>
							<td valign = 'top'>message</td>
							<td valign = 'top'>:&nbsp;</td>
							<td><textarea rows = '5' cols = '50' name = 'post'></textarea></td>
						</tr>
						<tr>
							<td colspan = '3' align = 'right'><input type = 'image' src = 'img/btnmsg.gif'></td>
							<input type = 'hidden' value = 'send' name = 'action'>
							<input type = 'hidden' value = '<% =request.servervariables ( "remote_addr" ) %>' name = 'ip'>
						</tr>
					</table>
					[blue]</form>[/blue][/red]

delen som inte funkar

[red]<%
	case "re"
		set con = server.createobject ( "adodb.connection" )
		con.open = driver
		con.execute ( " select gb_id, gb_usr from gb where gb_id = "&[blue]request ( "msgid" )[/blue]&" " )
		con.execute ( " select gb_time, format$ ( [gb_time], 'dddd dd mmm yyyy' ) as itemdate, format$ ( [gb_time], 'HH:mm' ) as itemtime from gb where gb_id = "&gbre_id&" " )

		con.close
		set con = nothing

		goOn = true

		errMess = "<tr>" & vbcrlf
		errMess = errMess & "<td>" & vbcrlf
		errMess = errMess & "<blockquote>" & vbcrlf
		errMess = errMess & "<br>folowing errors need to be corrected before posting your message:<br>" & vbcrlf
		errMess = errMess & "<blockquote>" & vbcrlf

		if len ( request ( "usr" ) ) = 0 then
			errMess = errMess & "- you need to apply usr-name<br>"
			goOn = false
		end if
%>[/red]
LR^evil.sidMedlem sedan maj 2002552 inlägg
#7

har markerat form-taggen & request:en som inte fungerar, det är de här case-satserna som är relevanta.

ursäkta tabbarna men det är så jag kodar..

LR^evil.sidMedlem sedan maj 2002552 inlägg
#8

ingen som ser nått fel?

@ndersMedlem sedan juni 200026 914 inlägg
#9

Har du on error resume next i koden?
Du borde nämligen få ett felmeddelande.

För det första skall det inte vara likhetstecken efter con.open. Du skapar dessutom inget recordset när du exekverar dina select-satser.

set con = server.createobject ( "adodb.connection" )
con.open driver
[b]set objRS = [/b]con.execute ("select gb_id, gb_usr from gb where gb_id = " & request ("msgid"))

Mvh,

LR^evil.sidMedlem sedan maj 2002552 inlägg
#10

tänkte inte använda recordset. tänkte få ut värdet genom

[red]con.execute ( " select gb_id as variabel from gb where gb_id = " & "&request ( "msgid" )&" " )[/red]

men det är inte det som är problemet. problemet är att request ( "msgid" ) inte innehåller något värde

Jesper TMedlem sedan nov. 20017 058 inlägg
#11

Skulle det vara en idé att lägga in request ( "msgid" ) i en variabel innan "caset" så att värdet lägger sig där oavsätt "case"?

MVH Jesper
Har du skrivit ut det med Response.write?

LR^evil.sidMedlem sedan maj 2002552 inlägg
#12

hur skulle det gå till? den här koden sitter på samma sida alltihop. har provat att innan exekvera databaskopplingen skriva ut request:en med response.write och den innehöll inte något värde.

har inget on error resume next i koden

emissionMedlem sedan dec. 19996 095 inlägg
#13

Börja med att rensa koden från onödiga mellanslag (bara för att undanröja potentiella felkällor). Kör även den resulterande HTML:en genom en HTML-validator (det finns massor på nätet).

Du måste använda recordset för att få ut något från databasen.

LR^evil.sidMedlem sedan maj 2002552 inlägg
#14

hela koden som den ser ut nu

[red]<!-- #include file = 'inc/head.inc' -->
<!-- #include file='inc/func.inc' -->
					<table width='100%' cellpadding='2' cellspacing='0' border='0' bgcolor='#fafafa'>
<%
	dim driver, con, rs, rd, sql, itemdate, itemtime
	dim goOn, errMess, errEml, gb_eml
	dim i, trcolor
	dim gb_post, gb_usr, gb_home

	driver =("driver={microsoft access driver (*.mdb)}; dbq=" & server.mappath("\project\db\db.mdb"))

	select case request("action")
		case ""
			set con=server.createobject("adodb.connection")
			con.open=driver
			set rs=con.execute(" select gb_id, gb_usr, gb_eml, gb_home, gb_post, gb_time from gb order by gb_time desc")

			i=0

			response.write "<form action='" & request.servervariables("script_name") & "' method='post'>" & vbcrlf

			do while not rs.eof
				set rd=con.execute(" select gb_time, format$([gb_time], 'dddd dd mmm yyyy') as itemdate, format$([gb_time], 'HH:mm') as itemtime from gb where gb_id="&rs("gb_id")&" ")
				gb_post=rs("gb_post")
				gb_post=gb_postFixOut(gb_post)
				gb_post=formatCrLf(gb_post)

				gb_usr=rs("gb_usr")
				gb_usr=gb_usrFixOut(gb_usr)

				gb_home=rs("gb_home")
				gb_home=gb_homeFixOut(gb_home)

				call(colortr)
				response.write "<tr bgcolor='#" & trcolor & "'>" & vbcrlf
				response.write "<td width='56'><font color='#000088'>posted by</font></td>" & vbcrlf
				response.write "<td>:&nbsp;</td>" & vbcrlf
				response.write "<td><font color='#990077'>" & gb_usr & "</font> @ <font color='#000077'>" & lcase(rd("itemdate")) & " " & lcase(rd("itemtime")) & "</font>"
				if not len(rs("gb_eml"))=0 then
					response.write " <a href='mailto:" & rs("gb_eml") & "'><img src='img/eml.gif' alt='mail to: " & gb_usr & "' border='0'></a>"
				end if
				if not len(gb_home)=0 then
					response.write " <a href='http://" & gb_home & "' target='_blank'><img src='img/home.gif' alt='http://" & gb_home & "' border='0'></a>"
				end if
				response.write " <a href='" & request.servervariables("script_name") & "?action=re'><img src='img/reply.gif' alt='reply to message' border='0'></a></td>" & vbcrlf
				response.write "<td align='right'><a href='index.asp?action=edit'><img src='img/edit.gif' alt='edit your message' border='0'></a>"
				response.write " <a href='index.asp?action=del'><img src='img/delete.gif' alt='delete form messagebord' border='0'></a>"
				response.write " <a href='index.asp?action=ip'><img src='img/ip.gif' alt='show ip' border='0'></a></td>" & vbcrlf
				response.write "<input type='hidden' value='" & rs("gb_id") & "' name='msgid'>" & vbcrlf
				response.write "</tr>" & vbcrlf
'				call(colortr)
				response.write "<tr bgcolor='#" & trcolor & "'>" & vbcrlf
				response.write "<td valign='top'><font color='#000077'>message</font></td>" & vbcrlf
				response.write "<td valign='top'>:&nbsp;</td>" & vbcrlf
				response.write "<td colspan='2'>" & gb_post & "</td>" & vbcrlf
				response.write "</tr>" & vbcrlf
				rs.movenext
			loop

			response.write "</table>" & vbcrlf

			rs.close
			con.close

			set rs=nothing
			set con=nothing

			i=""
			trcolor=""
%>
				</td>
			</tr>
		</table>
		<br>
		<table cellpadding='1' cellspacing='0' border='0' bgcolor='#fafafa'>
			<tr bgcolor='#fafafa'>
				<td>
					<table cellpadding='2' cellspacing='0' border='0' bgcolor='#fafafa'>
						<tr>
							<td colspan='3'>submit your message:</td>
						</tr>
						<tr>
							<td>usr</td>
							<td>:&nbsp;</td>
							<td><input type='text' name='usr'></td>
						</tr>
						<tr>
							<td>eml</td>
							<td>:&nbsp;</td>
							<td><input type='text' name='eml'></td>
						</tr>
						<tr>
							<td>home</td>
							<td>:&nbsp;</td>
							<td><input type='text' value='http://' name='home'></td>
						</tr>
						<tr>
							<td valign='top'>message</td>
							<td valign='top'>:&nbsp;</td>
							<td><textarea rows='5' cols='50' name='post'></textarea></td>
						</tr>
						<tr>
							<td colspan='3' align='right'><input type='image' src='img/btnmsg.gif'></td>
							<input type='hidden' value='send' name='action'>
							<input type='hidden' value='<% =request.servervariables("remote_addr") %>' name='ip'>
						</tr>
					</table>
					</form>
<%
	case "send"
		goOn=true

		errMess="<tr>" & vbcrlf
		errMess=errMess & "<td>" & vbcrlf
		errMess=errMess & "<blockquote>" & vbcrlf
		errMess=errMess & "<br>folowing errors need to be corrected before posting your message:<br>" & vbcrlf
		errMess=errMess & "<blockquote>" & vbcrlf

		if len(request("usr"))=0 then
			errMess=errMess & "- you need to apply usr-name<br>"
			goOn=false
		end if
%>
		<!-- #include file='inc/eml.inc' -->
<%
		if len(request("post"))=0 then
			errMess=errMess & "- you need to post a message<br>"
			goOn=false
		end if

		errMess=errMess & "</blockquote>" & vbcrlf
		errMess=errMess & "</blockquote>" & vbcrlf
		errMess=errMess & "</td>" & vbcrlf
		errMess=errMess & "</tr>" & vbcrlf
		errMess=errMess & "</table>" & vbcrlf

		if goOn=true then
			gb_post=request("post")
			gb_post=gb_postFixIn(gb_post)

			gb_usr=request("usr")
			gb_usr=gb_usrFixIn(gb_usr)

			gb_home=request("home")
			gb_home=gb_homeFixIn(gb_home)

			if trim(left(gb_home, 7))="http://" then gb_home=trim(right(gb_home, len(gb_home) - 7))

			sql="insert into gb(gb_usr, gb_eml, gb_home, gb_post, gb_ip) "
			sql=sql & "values('"&trim( gb_usr)&"', "
			sql=sql & "'"&trim( request("eml"))&"', "
			sql=sql & "'"&gb_home&"', "
			sql=sql & "'"&trim( gb_post)&"', "
			sql=sql & "'"&trim( request("ip"))&"') "

			set con=server.createobject("adodb.connection")
			con.open=driver
			con.execute(sql)

			con.close
			set con=nothing

			response.redirect request.servervariables("script_name")
		else
			response.write errMess
		end if
	case "re"
		set con=server.createobject("adodb.connection")
		con.open=driver
rad 170 -->	rs=con.execute(" select gb_id, gb_usr from gb where gb_id="&request("msgid")&" ")
		rs=con.execute(" select gb_time, format$([gb_time], 'dddd dd mmm yyyy') as itemdate, format$([gb_time], 'HH:mm') as itemtime from gb where gb_id="&gbre_id&" ")

		con.close
		set con=nothing

		goOn=true

		errMess="<tr>" & vbcrlf
		errMess=errMess & "<td>" & vbcrlf
		errMess=errMess & "<blockquote>" & vbcrlf
		errMess=errMess & "<br>folowing errors need to be corrected before posting your message:<br>" & vbcrlf
		errMess=errMess & "<blockquote>" & vbcrlf

		if len(request("usr"))=0 then
			errMess=errMess & "- you need to apply usr-name<br>"
			goOn=false
		end if
%>
		<!-- #include file='inc/eml.inc' -->
<%
		if len(request("post"))=0 then
			errMess=errMess & "- you need to post a message<br>"
			goOn=false
		end if

		errMess=errMess & "</blockquote>" & vbcrlf
		errMess=errMess & "</blockquote>" & vbcrlf
		errMess=errMess & "</td>" & vbcrlf
		errMess=errMess & "</tr>" & vbcrlf
		errMess=errMess & "</table>" & vbcrlf

		if goOn=true then
			gb_post=request("post")
			gb_post=gb_postFixIn(gb_post)

			gb_usr=request("usr")
			gb_usr=gb_usrFixIn(gb_usr)

			gb_home=request("home")
			gb_home=gb_homeFixIn(gb_home)

			if trim(left(gb_home, 7))="http://" then gb_home=trim(right(gb_home, len(gb_home) - 7))

			gb_post="[reply to: " & left(gb_usr, 10) & itemdate & " " & itemtime & "]"

			sql="insert into gb(gb_usr, gb_eml, gb_home, gb_post, gb_ip) "
			sql=sql & "values('"&trim(gb_usr)&"', "
			sql=sql & "'"&trim( request("eml"))&"', "
			sql=sql & "'"&gb_home&"', "
			sql=sql & "'"&trim(gb_post)&"', "
			sql=sql & "'"&trim(request("ip"))&"') "

			set con=server.createobject("adodb.connection")
			con.open=driver
			con.execute(sql)

			con.close
			set con=nothing

			response.redirect request.servervariables("script_name")
		else
			response.write errMess
		end if
	case "del"
	case "edit"
	case "ip"
	end select
%>
<!-- #include file='inc/foot.inc' -->[/red]

html:en fungerar fint

felmeddelande:

[red]Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'gb_id='.
/project/index.asp, line 170[/red]
LR^evil.sidMedlem sedan maj 2002552 inlägg
#15

ingen som har någon idé om varför requesten inte fungerar?

emissionMedlem sedan dec. 19996 095 inlägg
#16

Den raden är det inget fel på (förutom att set saknas framför rs). Däremot kan jag inte se att man kan komma dit med med någon slags msgid. Det enda du har är ju

response.write " <a href='" & request.servervariables("script_name") & "?action=re'><img src='img/reply.gif' alt='reply to message' border='0'></a></td>" & vbcrlf

...och där saknas msgid i länken.

LR^evil.sidMedlem sedan maj 2002552 inlägg
#17

msgid sitter i en input hidden. det är den markerade raden

[red]response.write " <a href='" & request.servervariables("script_name") & "?action=re'><img src='img/reply.gif' alt='reply to message' border='0'></a></td>" & vbcrlf
response.write "<td align='right'><a href='index.asp?action=edit'><img src='img/edit.gif' alt='edit your message' border='0'></a>"
response.write " <a href='index.asp?action=del'><img src='img/delete.gif' alt='delete form messagebord' border='0'></a>"
response.write " <a href='index.asp?action=ip'><img src='img/ip.gif' alt='show ip' border='0'></a></td>" & vbcrlf
[blue]response.write "<input type='hidden' value='" & rs("gb_id") & "' name='msgid'>" & vbcrlf[/blue][/red]

vart saknas det ett rs säger du?

LR^evil.sidMedlem sedan maj 2002552 inlägg
#18

känner mig som en komplett idiot men problemet är löst :i

[red]response.write " <a href='index.asp?action=re[b][blue]&msgid=" & rs("gb_id") &[/blue][/b] "'><img src='img/reply.gif' alt='reply to message' border='0'></a></td>" & vbcrlf[/red]

tack alla!

261 ms totalt · 3 externa anrop · cache AV · v20260731051352-full.56cc9887
123 ms — hämta statistik (db)
131 ms — hämta forumlista (db)
136 ms — hämta tråd, inlägg och bilagor (db)