Frågan 25 apr. 2001 10:22 #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?
N nakoz Medlem sedan dec. 1999 653 inlägg 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!" :)
Nej tyvärr det avhjälpte inte felet. Fortfarande visas inte sidan upp alls.
/webb
------------------
Vem ska du göra glad imorgon?
@nders Medlem sedan juni 2000 32 967 inlägg då får du nog:
kontrollera att request.form("id") har ett värde
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>
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?
@nders Medlem sedan juni 2000 32 967 inlägg 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>
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?
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?
@nders Medlem sedan juni 2000 32 967 inlägg vad var felet?
------------------
<A HREF="http://cartman.nu " TARGET=_blank>
all your base are belong to us!</A>
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?