Avatar billede annettef Nybegynder
07. september 2004 - 11:42 Der er 5 kommentarer og
2 løsninger

Hjælp til indkøbsvogn

Hej

Jeg er i gang med at lave en butik, hvor jeg skal have en indkøbsvogn. Jeg har fundet et eksempel på en indkøbsvogn, som jeg erbejder ud fra, men nu får jeg en fejl, som jeg ikke helt kan gennemskue...håber der er nogle kloge hoveder der kan hjælpe mig.

Fejlen er:

Microsoft VBScript compilation error '800a03f2'

Expected identifier

/datronic/frameset/vogn.asp, line 33

for (i = 0; i < vareantal; i++) {
----^

Min kode for vogn.asp er her:
--------
<%
Option Explicit
Dim Conn, DSN, sltid, strSQL, rs1, rs2, rs3, KatID, intKatId, column, R
Response.Buffer=True
%>

<!--#include file="dbconn.inc"--><!-- Database forbindelse oprettes via ekstern fil--><html>
<head>
    <title>Indkøbsvogn</title>
</head>

<body>
<td>
<h1>Indkøbsvogn</h1>

<%

  vareantal = Session("vareantal")
  undefined = Session("garbage")
  totalpris = 0

  if (vareantal == undefined || vareantal == 0) {
      Response.write("Din indkøbsvogn er tom.")
      Response.end()
  }

%>

Din indkøbsvogn indeholder følgende varer:<br>
<table width=100%>

<%
  for (i = 0; i < vareantal; i++) {
      if (Session("antal"+i) == 0) {
          continue
      }
%>
<form action=rediger.asp method=post>
<tr>
<td>

    <input type=hidden name=vare value=<%=i%>>
    <input type=text name=antal value=<%=Session("antal"+i)%> size=3>
</td>
<td>

    <a href=vis_varer.asp?album=<%=Session("vare"+i)%>>

<%
  res = con.execute("SELECT Titel, Pris FROM vare WHERE id=" + Session("vare"+i))
%>

<%=res.Fields("Titel")%></a>
</td>
<td align=right>

<%
  varepris = res.Fields("Pris")
%>
  <%=varepris%> kr. pr. stk
</td>
<td align=right>
  <%=Math.round(varepris * Session("antal"+i) * 100) / 100%> kr.
  <%
      totalpris += Math.round(varepris * Session("antal"+i) * 100) / 100
  %>
</td>
<td>
<input type=submit value="Opdater">
</td>
</form>
</tr>

<%
  }
%>

<tr>
<td>&nbsp;</td>
<td><b>Total</b></td>
<td>&nbsp;</td>
<td align=right><b><%=totalpris%> kr.</td>
</tr>
</table>
<p>
Hvis du vil ændre antallet af bestilte album, så indtast det ønskede antal i feltet ved
albummet og klik på knappen "Opdater".
<p>
<b>Klikker du ikke på knappen "Opdater" bliver din opdatering ikke registreret!</b>
<p>Hvis du vil fjerne et album fra indkøbskurven, skal du indtaste 0 i feltet,
og klikke på knappen "Opdater".
<p>
Klik <a href=afsend.asp>her</a> for at afsende ordren.
</td>
</table>
</body>
</html>
--------
Linie 33 hvor fejlen er, er denne linie:
32 <%
33  for (i = 0; i < vareantal; i++) {
34      if (Session("antal"+i) == 0) {
35          continue
36      }
37 %>

Håber der er nogen der kan hjælpe....

/Annette
Avatar billede eagleeye Praktikant
07. september 2004 - 11:45 #1
Du mangler at Dim'me i

tilføje i i dim linjen:
Dim Conn, DSN, sltid, strSQL, rs1, rs2, rs3, KatID, intKatId, column, R, i
Avatar billede flytier Nybegynder
07. september 2004 - 12:08 #2
Du får en VBScript compile error fordi din for-løkke er skrevet i JavaScript, men bliver afviklet som VBScript.........
Avatar billede flytier Nybegynder
07. september 2004 - 12:10 #3
..og dine if-sætninger er i øvrigt også skrevet i JavaScript....
Avatar billede annettef Nybegynder
07. september 2004 - 12:51 #4
Okay, hvis jeg skal skrive min kode i VBScript, hvordan skal det så se ud???

/Annette
Avatar billede flytier Nybegynder
07. september 2004 - 13:41 #5
Jeg er ikke den store VBScript-haj, bruger selv kun JavaScript - men prøv det her.......


<%
Option Explicit
Dim Conn, DSN, sltid, strSQL, rs1, rs2, rs3, KatID, intKatId, column, R, vareantal, undefined, totalpris, i
Response.Buffer=True
%>

<!--#include file="dbconn.inc"--><!-- Database forbindelse oprettes via ekstern fil--><html>
<head>
    <title>Indkøbsvogn</title>
</head>

<body>
<td>
<h1>Indkøbsvogn</h1>

<%

  vareantal = Session("vareantal")
  undefined = Session("garbage")
  totalpris = 0

  If vareantal = undefined Or vareantal = 0 Then
    Response.write "Din indkøbsvogn er tom."
    Response.end
  End If

%>

Din indkøbsvogn indeholder følgende varer:<br>
<table width=100%>

<%
  For i = 1 To vareantal
    If Session("antal"&i) <> 0
        Exit For
    End If
 
%>
<form action=rediger.asp method=post>
<tr>
<td>

    <input type=hidden name=vare value=<%=i%>>
    <input type=text name=antal value=<%=Session("antal"&i)%> size=3>
</td>
<td>

    <a href=vis_varer.asp?album=<%=Session("vare"+i)%>>

<%
  res = con.execute("SELECT Titel, Pris FROM vare WHERE id=" + Session("vare"&i))
%>

<%=res.Fields("Titel")%></a>
</td>
<td align=right>

<%
  varepris = res.Fields("Pris")
%>
  <%=varepris%> kr. pr. stk
</td>
<td align=right>
  <%=Round(varepris * Session("antal"&i) * 100) / 100%> kr.
  <%
      totalpris = totalpris & Round(varepris * Session("antal"&i) * 100) / 100
  %>
</td>
<td>
<input type=submit value="Opdater">
</td>
</form>
</tr>

<%
  Next
%>

<tr>
<td>&nbsp;</td>
<td><b>Total</b></td>
<td>&nbsp;</td>
<td align=right><b><%=totalpris%> kr.</td>
</tr>
</table>
<p>
Hvis du vil ændre antallet af bestilte album, så indtast det ønskede antal i feltet ved
albummet og klik på knappen "Opdater".
<p>
<b>Klikker du ikke på knappen "Opdater" bliver din opdatering ikke registreret!</b>
<p>Hvis du vil fjerne et album fra indkøbskurven, skal du indtaste 0 i feltet,
og klikke på knappen "Opdater".
<p>
Klik <a href=afsend.asp>her</a> for at afsende ordren.
</td>
</table>
</body>
</html>
Avatar billede annettef Nybegynder
07. september 2004 - 14:01 #6
Flytier - Tak for hjælpen med at lave koden om til VBScript...

Vil du lægge et svar så du og eagleeye kan dele pointene.

Jeg har ikke helt besluttet mig, men jeg tror jeg vil starte helt forfra med min indkøbsvogn i stedet for at arbejde videre på det eksempel jeg har fundet, men tak for hjælpen alligevel...

/Annette
Avatar billede flytier Nybegynder
07. september 2004 - 14:03 #7
det er hermed gjort.......
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester