Tjena... har lite problem med min webshop jag bygger. Den vill inte lägga till på samma artikelnummer om man shoppar av samma produkt vid samma besök... förstår ni? ser ni nåt fel? får inga felmess, men det lägger sig liksom inte "ihop" utan som egen rad om man te x först köper en Nokia 6110, och sen en till Nokia 6110 under samma besök.. då blir det
1st - 300 kr - Nokia 6110
1st - 300 kr - Nokia 6110 :(
<% Session("From") = "laggtill" %>
<% Dim Laggtill, Marke, Antal_poster, Sessionen, Antal, Besk, ArtNr, DB, RecSet
'Denna kod kollar så ett giltigt värde finns i antal fältet.
'On Error Resume Next
Antal = Cint(Request.QueryString("Antal"))
If Antal = "" Then
Response.Redirect "error.asp"
ElseIf Antal < 1 Or Antal > 9999 Then
Response.Redirect "error.asp"
End If
ArtNr = Cint(Request.QueryString("ArtNr"))
Besk = Cstr(Request.QueryString("Besk"))
Marke = Cstr(Request.QueryString("Marke"))
Pris = Cint(Request.QueryString("Pris"))
Rabatt = Cint(Request.querystring("rabatt"))
Sessionen = Session.SessionID
'response.write "Värden från sortiment.asp:<br>"
'response.write ArtNr&"<br>"&Besk&"<br>"&Marke&"<br>"&Pris&"<br>"&sessionen
strSQL = "SELECT * FROM Temptab WHERE SID = " & Sessionen & " AND AID = '" & ArtNr &"'"
set objRS = objConn.execute(strSQL)
Antal_Poster = objRS.RecordCount
'Om det ej fanns en vara med detta artikelnr redan :
If Antal_Poster < 1 Then
strAdd = "Insert into tempTab (SID, AID, antal, beskrivning, pris, rabatt) "&_
"Values ("&sessionen&",'"&ArtNr&"',"&Antal&",'"&beskrivning&"',"&pris&","&rabatt&")"
objConn.execute strAdd,,128
Else
'på fältet antal :
NyttAntal = Antal + objRS("Antal")
strUpd = "Update tempTab Set antal = NyttAntal Where SID = "&sessionen&""
objConn.execute strUpd,,128
End If
objRS.close
objConn.Close
'Här hoppar vi vidare till kundvagn_visa.asp för att se innehållet i kundvagnen igen.
' Skickar även med lite info om varan som vi just lagt till, via querystring.
Response.Redirect "kundvagn_visa.asp?Status=laggtill&Besk=" & Besk & "&Antal=" & Antal %>
we cant go on with suspicious minds.... asså, fan va bra det blev på ett sätt. men något riktigt skumt nu, lägger jag till 1 produkt, och sen 1 till av samma så funkar det utmärkt. Dock när jag återigen lägger på 1 av samma så blir det plötsligt en summa av 4 produkter, inte 3, va i? Vad är det här? Ska det vara så här? Ska de det? Ha? Ha?
vill också påpeka nu att tar jag någon av de andra produkterna så blev plötsligt 4 till 8, men den uppdaterar bara den produkt man la in först i kundvagnen, hmmm.... va?
Hmmmm...spelade ingen roll ändå!
efter man lagt till 2 produkter och sen lägger till ytterligare 1 produkter av samma så blir det 4 av den produkten. fel.
sen också, börjar jag shoppa av en annan produkt så ändras priset på den andra produkten till det man shoppar nu... ej bra! Nåt skumt!
<!--#include file="dbkoppling.asp"-->
<% Session("From") = "laggtill" %>
<% Dim Laggtill, Marke, Antal_poster, Sessionen, Antal, Besk, ArtNr, DB, RecSet
'Denna kod kollar så ett giltigt värde finns i antal fältet.
'On Error Resume Next
Antal = Cint(Request.QueryString("Antal"))
If Antal = "" Then
Response.Redirect "error.asp"
ElseIf Antal < 1 Or Antal > 9999 Then
Response.Redirect "error.asp"
End If
ArtNr = Cint(Request.QueryString("ArtNr"))
Besk = Cstr(Request.QueryString("Besk"))
Marke = Cstr(Request.QueryString("Marke"))
Pris = Cint(Request.QueryString("Pris"))
Rabatt = Cint(Request.querystring("rabatt"))
Sessionen = Session.SessionID
'response.write "Värden från sortiment.asp:<br>"
'response.write ArtNr&"<br>"&Besk&"<br>"&Marke&"<br>"&Pris&"<br>"&sessionen
strSQL = "UPDATE tempTab Set antal = antal+Antal Where SID = "&sessionen&" AND AID = '"& ArtNr &"'"
objConn.execute strSQL, rowsaffected, 128
if rowsaffected = 0 then
strSQL = "INSERT into tempTab (SID, AID, antal, beskrivning, pris, rabatt) "&_
"Values ("&sessionen&",'"&ArtNr&"',"&Antal&",'"&besk&"',"&pris&","&rabatt&")"
objConn.Execute strSQL,,128
end if
objConn.Close
'Här hoppar vi vidare till kundvagn_visa.asp för att se innehållet i kundvagnen igen.
' Skickar även med lite info om varan som vi just lagt till, via querystring.
Response.Redirect "kundvagn_visa.asp?Status=laggtill&Besk=" & Besk & "&Antal=" & Antal %>
Och nej, du skickas till annan sida så det är ingen loop.
Det har inte med ditt problem att göra men ett litet tips bara:
Använd inte Cint direkt på en querystring, då användaren lätt kan förstöra körningen av sidan.
Ex. om användaren skriver ArtNr=123abc i adressfältet så kraschar sidan!
Använd t.ex. isNumeric först innan du typomvandlar.
Sen är Cstr helt onöding på en querystring då allt i querystringen är strängar! :)
jag har faktist samma problem att om man köper 2 av samma så lägger där sig 2 st och dom lägger sig inte under samma artikelnummer, men däremot så har jag att man kan ändra antal, går man in i varukorgen och ändrar istället att man ska ha 3 av samma så lägger dom sig på samma, men inte om man trycker på köp knappen flera gånger, men jag ska kolla upp de och skriver till dig om jag kommer på de, det andra med att när du börjar handla en annan produkt så försvinner den första du tryckte på, det beror på att sessionen laddas om, hade precis samma problem och fick lägga min session i en frame för att den inte skulle ladda om alls så informationen stannar, testa med det och säg sen vilket resultat du fick.
om det skulle vara fel i databasen skulle den inte vissa informationen från databasen, för de märkte jag genom att jag råka sätta ett , (komma) istället för en . (punkt) för de såg jag inte priset när jag la till en grej i varukorgen och i kassan.
Du kommer ju in på sidan där produkten finns, då startas en session du trycker på köp och en produkt läggs in i sessionen, eftersom du har lagt sessionen på själva sidan för produkten så när du lämnar sidan så stängs sessionen ner, sen kommer du in på en ny produkt sida då öppnas ju en ny session, och det är därför den lägger en annan produkt, jag hade samma problem, därför la jag den sen i en frame som du inte använder, då gick man in på sidan, sessionen startas sen så ligger den kvar hela tiden, för har man frames så updaterar den endast framen men inte hela sidan, så den framen sessionen ligger i rörs inte och kan då ligga kvar och läsa hela tiden och komma ihåg allt, tills du då stänger ner sidan, eller trycker på updatera knappen. men funkar nu inte det som jag har sagt nu då måste de va något fel på själva koddningen..
jag har kollat lite på sidan och så men inte kommit fram till något än, men jag sitter och försöker och försöker så funkar de inte, sen går jag ifrån de och skiter i de sen brukar jag komma på de helt plötsligt :P men jag ska fundera på de och se om de löser sig, annars e det ju inte hela världen, jag håller med att det är snyggare när den ligger i samma men ändå, det funkar iallafall :P
Men men, jag ska se hur jag ska lösa de, kommer jag på lösningen så skickar jag den till dig :P hoppas detta hjälper dig lite :P