devotionMedlem sedan jan. 20013 582 inlägg :) :)
Hej!
Försöker göra en kundvagn...
Har följande kod för att skicka infon till "kundvagnen"
Response.Write "<td class=""itabell""><a href=""#"" onclick=""location.href='bottomFrame.asp?eNumber=" & objPricesDict.Item("eNumber") & "&antal=' + document.getElementById('antal').value;"" target=""bottomFrame""><img src=""../Images/kundvagn.gif"" alt=""Klicka här för att lägga till artikeln!"" width=""31"" height=""17"" border=""0""></a></td>"
Sidan ligger i ett ramverk med leftFrame, mainFrame och bottomFrame.
När jag klickar på länken så vill jag inte att mainFrame (som heter searchResult.asp) ska laddas om som det gör nu utan jag vill att infon skickas till "bottomFrame" som är kundvagnen. Som det är nu laddas "serachResult.asp" i den framen.
Jag får inte till det..... Hjälp
Nästa problem...
Jag har lånat ihop till en kundvagn med hjälp av följande script:
<%
Dim objConn, objRS
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=IntranetSydostel"
objConn.Open
response.write("<select name=meny>" & chr(10))
Set objRS = objConn.Execute("SELECT * FROM tblCart WHERE userID IN (" & Session("userId") & ")")
Dim totSum, totProd
totSum = 0
totProd = 0
if objRS.eof then
response.write("<option value=''>Kundvagnen är tom</option>" & chr(10))
else
do until objRS.eof
response.write("<option value=''>" & objRS("eNumber") & "</option>" & chr(10))
totSum = totSum - -cint(objRS("articlePrice"))
totProd = totProd - -1
objRS.MoveNext
loop
end if
response.write("</select>" & chr(10))
response.write("Antal Produkter: " & totProd & "<br />")
response.write("Total Summa: " & formatcurrency(totSum, 2) & "<br />")
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
Hur gör jag för att ta emot informationen som skickas från searchResult.asp och uppdatera kundvagnen?
Mvh
@ndersMedlem sedan juni 200032 969 inlägg
onclick=""[b]parent.frames['bottomFrame'].location.href=...
eNumber = Request.Querystring("eNumber")
antal = Request.Querystring("antal")
strSQL = "INSERT INTO tblCart (eNumber, antal, userID) VALUES ('" & eNumber & "', " & antal & ", " & session("userId") & ")"
objConn.execute strSQL,,128
Om jag var du skulle jag nog efter detta köra en response.redirect till kundvagnen utan querystrings, för att undvika att samma sak läggs till i kundvagnen av misstag vid back/forward i webbläsaren, eller en refresh.
mvh
devotionMedlem sedan jan. 20013 582 inlägg Hej!
Om jag var du skulle jag nog efter detta köra en response.redirect till kundvagnen utan querystrings, för att undvika att samma sak läggs till i kundvagnen av misstag vid back/forward i webbläsaren, eller en refresh.
Hur menar du? Är inte så hemma på Response.redirect...
Mvh
devotionMedlem sedan jan. 20013 582 inlägg :) :)
Nu har jag följande kod...
<%
Dim objConn, objRS
eNumber = Request.Querystring("eNumber")
antal = Request.Querystring("antal")
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.ConnectionString = "DSN=IntranetSydostel"
objConn.Open
strSQL = "INSERT INTO tblCart (eNumber, antal, userID) VALUES ('" & eNumber & "', " & antal & ", " & session("userId") & ")"
objConn.execute strSQL,,128
response.write("<select name=meny>" & chr(10))
strSQL = "SELECT * FROM tblCart WHERE userId = '" & Session("userId") & "'"
Set objRS = objConn.Execute(strSQL)
Dim totSum, totProd
totSum = 0
totProd = 0
if objRS.eof then
response.write("<option value=''>Kundvagnen är tom</option>" & chr(10))
else
do until objRS.eof
response.write("<option value=''>" & objRS("eNumber") & "</option>" & chr(10))
totSum = totSum - -cint(objRS("articlePrice"))
totProd = totProd - -1
objRS.MoveNext
loop
end if
response.write("</select>" & chr(10))
response.write("Antal Produkter: " & totProd & "<br />")
response.write("Total Summa: " & formatcurrency(totSum, 2) & "<br />")
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
%>
Jag får då ett felmeddelande att det är fel i "INSERT INTO" som jag tror beror på att querystringarna är " tomma. Men hur gör jag för att undvika det???
Och den här raden ger oxå felmeddelande:
Response.Write "<td class=""itabell""><a href=""#"" onclick=""[b]parent.frames['bottomFrame'].location.href='bottomFrame.asp?eNumber=" & objPricesDict.Item("eNumber") & "&antal=' + document.getElementById('antal').value;""><img src=""../Images/kundvagn.gif"" alt=""Klicka här för att lägga till artikeln!"" width=""31"" height=""17"" border=""0""></a></td>"
Fel: ';' Förväntas
Mvh
@ndersMedlem sedan juni 200032 969 inlägg Oki!
- Se till att bara köra insert-frågan när du har värden att stoppa in:
if eNumber <> "" and antal<>"" then
strSQL = "INSERT INTO tblCart (eNumber, antal, userID) VALUES ('" & eNumber & "', " & antal & ", " & session("userId") & ")"
objConn.execute strSQL,,128
end if
- skulle inte vara i koden, utan det var jag som skulle fetmarkera det jag lagt till i inlägget. Så här ska det vara:
Response.Write "<td class=""itabell""><a href=""#"" onclick=""[b]parent.frames['bottomFrame'].[/b]location.href='bottomFrame.asp?eNumber=" & objPricesDict.Item("eNumber") & "&antal=' + document.getElementById('antal').value;""><img src=""../Images/kundvagn.gif"" alt=""Klicka här för att lägga till artikeln!"" width=""31"" height=""17"" border=""0""></a></td>"
- Släng in en response.redirect efter insertandet:
Response.redirect "bottomFrame.asp"
Glöm inte bort heller att skydda dig mot SQL-injection. :)
Mvh
devotionMedlem sedan jan. 20013 582 inlägg :) :) :) :)
Tack för det....
Ska även lägga till skydd mot SQL-injections
Mvh