Håller ju på att bygga en shop.
I min databas har jag en tabell för varukorgen. I den tabellen identifieras kunden med hjälp av sessionid. När kunden sedan beställer varorna läggs alla data från denna tabell över i en ordertabell. Då raderas även korgtabellen. Men jag vill också att administratören skall kunna gå in och rensa bort oavslutade köp. För att kunna göra det behöver jag kunna känna av vilka sessionId som är aktiva, bara för att inte sopa rent hus hos de kunder som håller på att handla....
Är det någon som vet hur man gör, eller behöver jag bygga om databasen???
------------------ Du lever bara en gång och den gången är nu!
Är visserligen ingen mästare på detta men: om det inte är väldigt mycket i korgen (el känslig info) kan man spara det i cookies istället. Alt sessions. När kunden sedan bekräftar beställningen så skriver du till ordertabellen. M h a Sessions och cookies slipper administratören rensa oavslutade köp om du gör på rätt sätt.
kunden indentifieras med sessionsid, men du genererar väl inte primärnyckelvärden med den? Det är nämligen inte bra
Remarks
You should not use the SessionID property to generate primary key values for a database application. This is because if the Web server is restarted, some SessionID values may be the same as those generated before the server was stopped. Instead, you should use an auto-increment column data type, such as IDENTITY with Microsoft SQL Server, or COUNTER with Microsoft Access.
Dvs. När kunden börjar handla kan du generera en top varukorg och samtidigt generera ett unikt varukorgs-nummer som du sparar i användarens Session. Använd sedan detta nummer i stället för SessionID.
Men jag vill också att administratören skall kunna gå in och rensa bort oavslutade köp
Ett sätt är att ha en datum kolumn som håller reda på när varukorgen skapades. Man kan sedan rensa bort varukorgar som är äldre än 1 dag. Man kan nog förmoda att ingen håller varukorgen "igång" mer än 24 timmar.
Till er andra... Givetvis genererar jag inte primärnyckel i session... Men i min shop krävs det en inlogging för att bekräfta att man är kund när man skall lägga ordern. I samband med att ordern läggs byts sessionId ut mot kundens id som finns i databasen....
Men för att lägga ner poster i korgtabellen behöver man inte vara inloggad...Förstår ni???
:h
------------------ Du lever bara en gång och den gången är nu!
Men för att lägga ner poster i korgtabellen behöver man inte vara inloggad...Förstår ni???
Ja, jag har ett likadant system. Men när jag byggde mitt så var jag inte så förutséende att ha med datumfältet... tror jag... (lite olikt mig faktiskt) Hur som helst, det blit bara fler och fler poster i mitt system men det är inte så stor trafik till webbplatsen så det är rätt okej. Det får vara så tills vidare!
Mitt system är som "moduler" och man kan bara kopy/paste mellan olika kunder. Faktiskt rätt praktiskt och en feature jag inte tänkte på från början.
------------------
Never underestimate your opponents.
257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e