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("");
%>
