Avatar billede ylwen Nybegynder
27. august 2002 - 07:43 Der er 1 løsning

problemer med lykke i webbutik

Hej. Jeg har lavet en lille webbutik, men har et lille problem.
Jeg kan ikke hitte ud af at få ordrenummeret med på den side der bliver vist efter kunden har afgivet sin bestilling. Ordrenummeret kommer med på mailen til forretningen.
Desuden kan jeg ikke finde ud af at få samlet alle varerne på en mail. Dvs. at hvis der bliver bestilt 1 * sko og 2*sokker så bliver der sendt to mail 1 med sko og en med sokker, hvoraf det kun er den ene mail der er ordrenummer på.

Håber du kan hjælpe. Her er min kode:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
    <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
  <title>Marine Teknik I/S</title>
</head>
  <link rel="stylesheet" type="text/css" href="style.css">
<body>
       
<% @language=JavaScript %>

<!-- #include file="database.js" -->
<!-- #include file="string.js" -->

<%
  OK = 0;
  FORKERT_KODEORD = 1;
  KUNDE_EKSISTERER = 2;

  con = createDatabaseConnection();

  // kontroller først, om kunden er logget ind
  id = -1;
  if (Request.Cookies("kundeid") != "") {
    id = opdaterKunde(Request.Cookies("kundeid"));
  } else {
    id = tilfojKunde();
  }

  // registrer ordren
  Application.Lock();
  con.execute("INSERT INTO ordre (kunde, dato) VALUES (" + id + ", " + toSqlDate(new Date()) +")");
  res = con.execute("SELECT id FROM ordre WHERE kunde=" + id + " ORDER BY id DESC");
  ordrenummer = res.Fields("id");
  Application.Unlock();

  vareantal = Session("vareantal");
  for (i = 0; i < vareantal; i++) {
    sql = "INSERT INTO ordrelinie (vare, antal, ordre) VALUES (";
    sql += Session("vare"+i);
    sql += ", ";
    sql += Session("antal"+i);
    sql += ", ";
    sql += ordrenummer;
    sql += ")";
    con.execute(sql);
  }
  printResult(OK);

function opdaterKunde(id) {
    sql = "UPDATE kunde SET ";
    sql += "Navn='" + Request.Form("Navn") + "', "
    sql += "Adresse='" + Request.Form("Adresse") + "', ";
    sql += "Postnummer=" + Request.Form("Postnummer") + " , ";
    sql += "postdistrikt='" + Request.Form("postdistrikt") + "', ";
  sql += "telefon=" + Request.Form("telefon") + " , ";
    sql += "Email='" + Request.Form("Email") + "'";
    sql += " WHERE id=" + id;
    con.execute(sql);
    return id;
  }

  function tilfojKunde(id) {
    // kontroller, at de to kodeord er ens
    if (!strcmp(Request.Form("kodeord1"),Request.Form("kodeord2"))) {
      printResult(FORKERT_KODEORD);
    }

    // kontroller, at der ikke allerede eksisterer en kunde med den email-adresse
    res = con.execute("SELECT id FROM kunde WHERE email='" + Request.Form("Email") + "'");
    if (!res.EOF) { // kunden eksisterer
      printResult(KUNDE_EKSISTERER);
    }

    sql = "INSERT INTO kunde (Navn, Adresse, Postnummer, postdistrikt, Telefon, Email, Kodeord, kommentar) VALUES (";
    sql += "'" + Request.Form("Navn") + "', ";
    sql += "'" + Request.Form("Adresse") + "', ";
    sql += Request.Form("Postnummer") + ", ";
    sql += "'" + Request.Form("Postdistrikt") + "', ";
  sql += Request.Form("telefon") + ", ";
    sql += "'" + Request.Form("Email") + "', ";
    sql += "'" + Request.Form("Kodeord1") + "', ";
  sql += "'" + Request.Form("Kommentar") + "')";

    con.execute(sql);
    res = con.execute("SELECT id FROM kunde WHERE Email='" + Request.Form("Email") + "'");
    return res.Fields("id");
  }

  function printResult(status) {
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
  <title>Marineteknik I/S</title>
</head>
  <link rel="stylesheet" type="text/css" href="style.css">
<body>


<td>

<%
  if (status == OK) {
%>

<%
  for (i = 0; i < vareantal; i++) {
    if (Session("antal"+i) == 0) {
      continue;
    }
%>
<% 

msg = Server.CreateOBject( "JMail.Message" )
msg.Logging = true

res = con.execute("SELECT varenr, navn, pris FROM Varer WHERE varenr='" + Session("vare"+i)+"'");
fir = con.execute("SELECT Navn, Email FROM Forretning WHERE ID=1");

  Firmanavn  = fir.Fields("Navn");
  Email1    = fir.Fields("Email");
  linje1    = "Du har købt følgende varer:";
  linje2    = "-----------------------------------------------------------";
  VNummer    = res.Fields("varenr");
  VNavn    = res.Fields("navn");
  Antal    = Session("antal"+i);
  Pris    = res.Fields("pris");
  Ialt    = Math.round(Pris * Antal * 100) / 100;
  //Total    = Math.round(Ialt * Antal * 100) / 100;
  vareantal  = Session("vareantal");
  KNavn    = Request.Form("Navn");
  KAdresse  = Request.Form("Adresse");
  KPostnummer  = Request.Form("postnummer");
  KBy      = Request.Form("postdistrikt");
  KTlf    = Request.Form("Telefon");
  KEmail    = Request.Form("email");
  Forsendelse = Request.Form("Levering");
  Kommentar  = Request.Form("Kommentar");
 
msg.From = (Email1);
msg.FromName = (Firmanavn);
msg.AddRecipient (Email1)
//msg.AddRecipient (KEmail)
msg.Subject = ("Din ordre hos:" + Firmanavn);
msg.Body = (KNavn + "\n\nButiksnavn: " +Firmanavn + "\nOrdrenummr: " + ordrenummer + "\n\n" + linje1 +
            "\n" + linje2 + "\n[" + VNummer + "] " + Antal + " * " + VNavn + " [" + Pris + "]  " + Ialt +
      "\n" + linje2 + "\nOrdretotal (DKK) " + Ialt + "\n" + linje2 + "\n" + "Forsendelse: " + Forsendelse +
      "\n" + linje2 +
      "\n\n" + KNavn + "\n" + KAdresse + "\n" + KPostnummer + "\n" + KBy + "\n" + KTlf + "\n" + KEmail+ "\n" + Kommentar);
msg.Send ("pop3.mail.dk")
}

Response.Write("<br><br><table width='70%' border='0' align='center'><tr><td>");
Response.write("<h5 class='Overskrift'>Ordrebekræftelse</h5>")
Response.write("<h5 class='InfoText'>Din ordre er nu blevet afsendt. Den har fået ordrenummer <strong>"+ordrenummer+"</strong>. Opgiv venligst ");
Response.write("dette nummer, hvis du har spørgsmål angående din ordre.<p>");
Response.write("Eventuelle spørgsmål og kommentarer kan sendes til <a href=mailto:"+Email1+">"+Email1+"</a>.<br><br>");
Response.write("<p><strong>Tak fordi du handlede hos"+Firmanavn+".</strong></h5></p>");
Response.write("");

%>
Avatar billede ylwen Nybegynder
16. marts 2005 - 08:48 #1
Lukker
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