PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!
As you can see, it contains all sorts of code snippets. These don't seem to be parsed when it is emailed, so is there any way of getting the output into an email?
<?php
include("headers.php");
switch($_GETї"action"])
{
case "add_item":
{
AddItem($_GETї"id"], $_GETї"qty"]);
ShowCart();
break;
}
case "update_item":
{
UpdateItem($_GETї"id"], $_GETї"qty"]);
ShowCart();
break;
}
case "remove_item":
{
RemoveItem($_GETї"id"]);
ShowCart();
break;
}
default:
{
ShowCart();
}
}
function ShowCart()
{
// Gets each item from the cart table and display them in
// a tabulated format, as well as a final total for the cart
global $dbServer, $dbUser, $dbPass, $dbName;
// Get a connection to the database
$cxn = @ConnectToDb($dbServer, $dbUser, $dbPass, $dbName);
$totalCost = 0;
$result = mysql_query("select * from cart inner join items on cart.itemId = items.itemId where cart.cookieId = '" . GetCartId() . "' order by items.itemName asc");
?>
<html>
<head>
<title> Your Shopping Cart </title>
<script language="JavaScript">
function UpdateQty(item)
{
itemId = item.name;
newQty = item.optionsїitem.selectedIndex].text;
document.location.href = 'basket.php?action=update_item&id='+itemId+'&qty='+newQty;
}
</script>
</head>
<?
include("top.php");
?>
<h1>Your Basket</h1>
<form name="frmCart" method="get">
<?
while($row = mysql_fetch_array($result))
{
// Increment the total cost of all items
$totalCost += ($rowї"qty"] * $rowї"itemPrice"]);
$unitCost = ($rowї"qty"] * $rowї"itemPrice"]);
$qty = $rowї"qty"];
$itemName = $rowї"itemName"];
$price = number_format($rowї"itemPrice"], 2, ".", ",");
$unitc = number_format($unitCost, 2, ".", ",");
$totalc = number_format($totalCost, 2, ".", ",");
}
$message = "<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td width="15%" height="25" bgcolor="#99cc99">
<font face="verdana" size="1" color="#000000">
<b>Qty</b>
</font>
</td>
<td width="55%" height="25" bgcolor="#99cc99">
<font face="verdana" size="1" color="#000000">
<b>Product</b>
</font>
</td>
<td width="20%" height="25" bgcolor="#99cc99">
<font face="verdana" size="1" color="#000000">
<b>Price Each</b>
</font>
</td>
<td width="20%" height="25" bgcolor="#99cc99">
<font face="verdana" size="1" color="#000000">
<b>Total</b>
</font>
</td>
</tr>
<tr>
<td width="15%" height="25">
<font face="verdana" size="1" color="black">
$qty
</font>
</td>
<td width="55%" height="25">
<font face="verdana" size="1" color="black">
$itemName
</font>
</td>
<td width="20%" height="25">
<font face="verdana" size="1" color="black">
£$price
</font>
</td>
<td width="20%" height="25">
<font face="verdana" size="1" color="black">
£$unitc
</font>
</td>
</tr>
<tr>
<td width="100%" colspan="3">
</td>
<td width="30%" colspan="2">
<font face="verdana" size="2" color="black">
<b>Total: £$totalc</b>
</font>
</td>
</tr>
</table>";
mail('info@larrytech.biz', 'Subject',
$message,
"To: The Receiver <recipient@some.net>\n" .
"From: The Sender <sender@some.net>\n" .
"MIME-Version: 1.0\n" .
"Content-type: text/html; charset=iso-8859-1");
?>
</form>
<a href="sendorder.php">Submit</a>
<?php
}
include("bottom.php");
?>
Now, this works (sort of) and I get an email, but only the last item selected is shown. I have a feeling that this is to do with the while statement and only doing one loop, but I am not sure how to get it to work total.
Yes, I think so. Does anybody know how I would do this? I have tried having the query in $message, but it prints as text. Is there a special way of doing it?
that implies that everyone could connect from everywhere to your database and you provided the login/password to everyone.
does your neighbour have php installed? If not what executes the script if he/she receives a mail from you?
client-side javascript e.g. works because many people have it installed on their box (shipping with their browser). But if they use lynx or disable javascript or ... it does not.
There is a client-side php-plugin called ActivePHP but who has it?
I think that I need to get the query to output as HTML before being placed in the email. This would remove the need for a local parser. Is this what you meant? Ideally, the email should jst contain HTML, no PHP, but I don't know how this can be achieved with the query.
Lawrence
not sure what else to do. check "\". You will also have to take this outside the initial $message string and then continue. Thanks for the pointer on that.