Brug af AI afslører de svagheder, virksomheder allerede har opbygget gennem års cloud-transformation, nye SaaS-løsninger og fragmenterede sikkerhedssystemer.
Her er den kode der bliver eksekveret. Håber det kan hjælpe lidt mere.
<% Response.Buffer = True %>
<html> <head> <title>Konstruktion af indkøbskurv</title> </head>
<body bgcolor="9999CC">
<%
'Kunstruer indkøbsvognen. Set BagItems = LoadXMLBag()
'Tilføj eller ændre i vareantal. If Request.ServerVariables("CONTENT_LENGTH") > 0 Then Select Case Trim(Request.Form("DO"))
CASE "Køb flere varer" Response.Redirect "VisVarer2.asp" Response.End CASE "Beregn igen" RecalcBag BagItems CASE "Gå til kassen" ' Beregn igen og gå derefter til kassen. End Select Else ' Varerne tilføjes ved hjælp af en Querystring nVareId = Trim(Request.QueryString("id")) AddtlVare nVareId, BagItems End If
Session("BagItems") = BagItems.XML
If BagItems.hasChildNodes Then PrintBag BagItems Else Response.Write "Du har ingen varer i indkøbskurven!" End If %> </body> </html>
<SCRIPT LANGUAGE=VBSCRIPT RUNAT=SERVER>
Function LoadXMLBag() Set XMLDoc = Server.CreateObject("Microsoft.XMLDOM") If Not IsEmpty(Session("BagItems")) Then XMLDoc.loadXML Cstr(Session("BagItems")) Set BagItems = XMLDoc.documentElement Else Set BagItems = XMLDoc.createElement("BagItems") Set XMLDoc.documentElement = BagItems End If Set LoadXMLBag = BagItems End Function
Sub AddtlVare(nVareId, BagItems) bValid = True
If "" = nVareId Or Not IsNumeric(nVareId) Then bValid = False Else Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open "Data Source=dm00421;User ID=sa;Password=;" Set objRS = Server.CreateObject("ADODB.Recordset") Set objRS.ActiveConnection = objConn objRS.Open " SELECT Varenummer, Varenavn, Pris, VareType FROM Vare_T WHERE Varenummer=" & nVareId If objRS.EOF And objRS.BOF Then bValid = False Else avarVare = objRS.GetRows() End If objConn.Close Set objRS = Nothing Set objConn = Nothing End If
// vis det er den rigtige vare, så tilføj den til indkøbsvognen If bValid Then AddVareTilKurv avarVare, BagItems End If End Sub
Sub AddVareTilKurv(AvarVare, BagItems) Set XMLDoc = BagItems.ownerDocument Set nodeFind = BagItems.selectNodes("Vare_T[@Varenummer=""" & nVareId & """]") If Not nodeFind.length > 0 Then Set Vare_T = XMLDoc.createElement("Vare_T") Set attr = XMLDoc.createAttribute("Varenummer") attr.Text = avarVare(0,0) Vare_T.attributes.setNamedItem(attr) Set attr = XMLDoc.createAttribute("Varenavn") attr.Text = Server.HtmlEncode(avarVare(1,0)) Vare_T.attributes.setNamedItem(attr) Set attr = XMLDoc.createAttribute("Pris") attr.Text = Server.HtmlEncode(avarVare(2,0)) Vare_T.attributes.setNamedItem(attr) Set attr = XMLDoc.createAttribute("VareType") attr.Text = avarVare(3,0) Vare_T.attributes.SetNamedItem(attr) Vare_T.text = "1" BagItems.appendChild(Vare_T) End If End Sub
Sub Out(strOut) Response.Write strOut End Sub
Sub PrintBag(BagItems) Out "<FORM METHOD=""POST"" ACTION=""" Out Request.ServerVariables("SCRIPT_NAME") & """>" Out "<TABLE><TR><TH>Antal</TH><TH COLSPAN=2>" Out "Vare</TH><TH>UNIT PRICE</TH><TH>Pris</TH>" Out "</TR>" & vbCrLf For Each item In BagItems.childNodes Out "<TR><TD><input type =""TEXT"" name""Antal" Out item.attributes.getNamedItem("Varenummer") Out """ Value=""" & item.text & """ SIZE=""3"">" Out "<TD>" & item.attributes.getNamedItem("Varenavn") Out "</TD><TD>" & item.attributes.getNamedItem("Pris") & "</TD>" nUnitPrice = item.attributes.getNamedItem("Pris") nSubTotal = item.text * nUnitPrice nTotal = nTotal + nSubTotal Out "<TD>" & FormatCurrency(nUnitPrice) & "</TD>" Out "<TD><B>" & FormatCurrency(nSubTotal) & "</B></TD>" Out "</TR>" & vbCrLf Next Out "<TR><TD COLSPAN=5><HR></TD></TD></TR>" Out "<TR><TD COLSPAN=3></TD><TD><B>Total:</B></TD>" Out "<TD><B>" & FormatCurrency(nTotal) & "</B></TD></TR>" & vbCrLf Out "<TR><TD COLSPAN=5 ALIGN=""RIGHT"">" Out "<INPUT TYPE=SUBMIT NAME=""DO"" VALUE=""Køb flere varer""> " Out "<INPUT TYPE=SUBMIT NAME=""DO"" VALUE=""Beregn igen""> " Out ">INPUT TYPE=SUBMIT NAME=""DO"" VALUE=""Gå til kassen"">" Out "</TD></TR></TABLE></FORM>" End Sub
Sub RecalcBag(BagItems) For Each item in BagItems.childNodes nAntal = Trim(Request.Form("Antal" & item.attributes.getNamedItem("Varenummer"))) If "" <> nAntal And IsNummeric(nAntal) Then If nAntal < 1 Then BagItems.removeChild item Else item.text = nAntal End If End If Next End Sub </SCRIPT>
Jeg har oplevet det samme, men fandt ud af at det var mit webhotel der kørte en for gammel version af IIS. IIS 5+ inkluderer en masse support for XML, men IIS 5+ kræver desværre mindst Windows 2000 (mit webhotel kørte Windows NT). Derfor kan et muligt svar på dit problem være at finde ud af hvilket OS din webserver kører på.
Jeg kører w2k professionel, med iis installeret. Jeg har fundet nogle tastefejl, som jeg ar rettet, men det har ikke hjulpet. Nu vil jeg overveje en anden struktur til det l..., for det skulle helst være færdigt i påsken. /Rullemarie
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.