Nu har jeg lavet det om, selvom jeg har flere profilpoint end tingen koster, siger den alligevel jeg ikke har råd.
Udover det, sætter den alligevel prisen til -pris.
<%
mode = request("mode")
If mode = "" Then
If Request.QueryString("opfordring") <> "" Then
Response.Write "<b>#NOTE:</b> <font color=red>" & Request.QueryString("opfordring") & "</font><br><br>"
End if
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("database/database.mdb") & ";UID=admin;PWD=;"
Set rs = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT * FROM butik ORDER BY id"
set rs = conn.execute(sql)
if rs.EOF then
Response.write "Desværre er der ikke nogen varer i butikken."
else
Do Until rs.EOF
strVarenavn = RS("varenavn")
strPris = RS("pris")
strBeskrivelse = RS("beskrivelse")
Response.Write "<b>" & RS("varenavn") & "</b><br>"
Response.Write "<b>Pris:</b> " & RS("pris") & " profilpoint.<br>"
Response.Write "" & RS("beskrivelse") & ""
Response.Write "<a href=butik.asp?mode=2&id=" & rs("id") & "><b>Klik her</b></a> for at købe " & RS("varenavn") & "."
Response.Write "<br><br>"
RS.MoveNext
Loop
end if
Conn.Close
Set Conn = Nothing
End if
If mode = "2" Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("database/database.mdb")
sql = "SELECT * FROM butik WHERE id=" & Request.QueryString("id") & ""
set rs = conn.execute(sql)
If not rs.EOF then
brugerid = Session("id")
varenavn = rs("varenavn")
pris = cint(rs("pris"))
profilpoint = cint(Session("profilpoint"))
antal = rs("antal")
If pris > profilpoint Then
Response.Redirect "butik.asp?opfordring=Denne vare koster '" & pris & "' profilpoint.<br>Det vil sige at du ikke har råd til den og må spare nogle flere profilpoint op, før du kan købe den.<br>Du kan selvfølgelig også vælge at købe noget andet."
Else
If antal = 0 Then
Response.Redirect "butik.asp?opfordring=Da denne vare er udsolgt, kan den desværre ikke blive solgt til dig.<br>Du bedes <b>ikke</b> kontakte en admin for opfyldning, da vi selv sørger for det."
Else
sql = "UPDATE butik SET antal = " & antal & " - 1 WHERE varenavn = '" & varenavn & "'"
Conn.execute(sql)
sql = "INSERT INTO varer (brugerid,varenavn) values(" & brugerid & ",'" & varenavn & "')"
Conn.execute(sql)
sql = "UPDATE brugere SET profilpoint = " & cint(session("profilpoint")) & "-" & cint(rs("pris")) & " WHERE id = " & Session("id") & ""
Conn.execute(sql)
Response.Redirect "butik.asp?opfordring=Du har nu købt tingen " & varenavn & "."
End if
End if
End if
End if
%>