webForumDet fria alternativet

Form/Request-fel

9 svar · 278 visningar · startad av webbmannen

webbmannenMedlem sedan dec. 1999826 inlägg
#1

Vad är fel i detta?

<form action="order.asp" method="post">
<input type="image" src="../images/ticket.jpg" border="0" name="ID" value="<%=rs("ID")%>">
</form>

Som sedan frågas efter så här i order.asp

Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=x:\xxxxx\xxxxx\xxxx\xxx.mdb"
SQL = "SELECT * FROM events WHERE ID = '"& Request.Form("ID") &"' "

rs.Open SQL, Connect

Skrivs ut med <%=rs("ID")%>

Det blir en blank sida som svar.

Jag vill alltså kunna skriva ut rs-variablerna (det finns fler) på sidan som heter order.asp

/webb

------------------
Vem ska du göra glad imorgon?

nakozMedlem sedan dec. 1999653 inlägg
#2

hm, av vilken datatyp är fältet ID? är det "number" eller "tal" som jag tror så ska det inte vara några enkelfnuttar i sql-satsen.

SQL = "SELECT * FROM events WHERE ID = "& Request.Form("ID")

skulle nog räcka fint... annars vet jag inte riktigt...

mvh.

------------------
void[]
stash/$gu&-public(querystring)/n int{}bind "2" "say i own!" :)

webbmannenMedlem sedan dec. 1999826 inlägg
#3

Nej tyvärr det avhjälpte inte felet. Fortfarande visas inte sidan upp alls.

/webb

------------------
Vem ska du göra glad imorgon?

@ndersMedlem sedan juni 200032 969 inlägg
#4

då får du nog:

  1. kontrollera att request.form("id") har ett värde

  2. slänga upp koden till hela order.asp här.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

webbmannenMedlem sedan dec. 1999826 inlägg
#5

Jag får alltså inte fram något värde när jag på sidan order.asp frågar efter Request.Form("ID") vilket då leder till att felet ligger på sidan som skickar:

<html>
<%
IE_bild = "background='../images/mainbg.jpg'"
ingen_bild = " "

if instr(request.servervariables("http_user_agent"),"IE") = 0 Then
bild = ingen_bild
Else
bild = IE_bild
End If
%>
<head>
	<title>Events</title>

</head>

<body topmargin="12" leftmargin="20" marginwidth="20" marginheight="12" bgcolor="#fef2c2" <%=bild%>>
<h3><b><font face="verdana" color="#485581">Evenemang</font></b></h3>
<table cellpadding="3">
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=x:\xxx\xxx\xx\xxx.mdb"

SQL = "SELECT * FROM events"
rs.Open SQL, Connect

Do While Not rs.EOF
%>
<tr>
<td width="435" align="left" bgcolor="#FFEA77"><font face="verdana" size="2" color="#485581"><b><%=rs("rubrik")%></b></font>
</td></tr><tr>
<td width="435" align="left"><font face="verdana" size="1"color="#485581"><%=rs("texten")%></font></td>
</tr></table>
<table cellpadding="3" border="0"><tr>
<td width="300"><font face="verdana" size="2"color="#485581">Plats: <b><%=rs("arena")%></b></font></td>
<td rowspan="3" valign="bottom" align="right">
<form action="order.asp" method="post">
<input type="image" src="../images/ticket.jpg" border="0" name="ID" value="<%=rs("ID")%>">
</form>
</td></tr><tr>
<td width="300"><font face="verdana" size="2"color="#485581">Dag: <b><%=rs("dag")%></b></font></td></tr><tr>
<td width="300"><font face="verdana" size="2"color="#485581">Antal platser: <b><%=rs("platser")%></b></font></td></tr><tr>
<td colspan="2"><font face="verdana" size="2"color="#485581">Priser: <b><%=rs("priser")%></b><br><br></font></td>
</tr>
<%
rs.MoveNext
Loop
%>
</table>
</body>
</html>
<%
Connect.Close
%>

Här har jag alltså försökt med en lösning där en bild fungerar som "skicka-knapp" samtidigt som den ska ta med sig ID:t till order.asp

/webb

------------------
Vem ska du göra glad imorgon?

@ndersMedlem sedan juni 200032 969 inlägg
#6

det är möjligt att det inte går att skicka value på det sättet med en <input type="image">

om du istället för att ha value där, lägger till ett hiddenfält i formuläret så borde det funka.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

webbmannenMedlem sedan dec. 1999826 inlägg
#7

Prövade med:

<input type="hidden" name="ID" value="<%=rs("ID")%>">

och körde en enkel Request utan SQL-satsen men inget värde skrevs ut (däremot kommer sidan upp för övrigt).

/webb

------------------
Vem ska du göra glad imorgon?

webbmannenMedlem sedan dec. 1999826 inlägg
#8

En nypa frisk luft gjorde susen :e

Med de här skrivningarna så fungerar det nu:

events.asp

Där skulle det vara:
<input type="hidden" name="ID" value="<%=rs("ID")%>">

Och i order.asp

Fungerade det med:
nr = Request.Form("ID")

Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=x:\xxx\xxxx\xxx\xxx.mdb"
SQL = "SELECT * FROM events WHERE ID=" &nr

Tack för hjälpen

/webb

------------------
Vem ska du göra glad imorgon?

@ndersMedlem sedan juni 200032 969 inlägg
#9

vad var felet?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

webbmannenMedlem sedan dec. 1999826 inlägg
#10

Jag kan inte förklara varför, bara peka på ändringen tyvärr.

Kika på hur Request:en är hanterad i mitt sista inlägg jämfört med hur det ser ut i det första.

Om det egentligen är samma sak (vilket jag tycker) så har jag isåfall varit rätt från början men ändå lyckats shabbla till det på nåt sätt ;)

/webb

------------------
Vem ska du göra glad imorgon?

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