我寫了一個大約一年前的訂單形式的應用程序,這將允許用戶選擇一些項目,然後點擊提交按鈕提交按鈕,然後觸發一個PHP腳本,爲該人創建一個電子郵件發票誰命令它和公司誰是suppy產品。PHP電子郵件生成文件錯誤
現在我對PHP仍然很陌生,現在我已經回到它了我已經忘記了我寫的很多東西,出於某種原因,我在我的電子郵件中收到錯誤,希望有人能幫我找到。
這是我的訂單頁面的樣子
這是該頁面
<p><i>Required fields are marked with</i> <b>*</b></p>
<form action="orderformDNP.php" method="post"
onsubmit="document.getElementById('myButton').disabled=true;
document.getElementById('myButton').value='Submitting...';"
>
<table width="496" border="0" style="border-width: 1px; border-color:#E5E5E5;
border-style: solid;">
<tr>
<td width="40%">
Name: *
</td>
<td width="60%">
<input type="text" name="yourname" />
</td>
</tr>
<tr>
<td width="40%">
Phone Number: *
</td>
<td width="60%">
<input type="text" name="phonenumber" />
</td>
</tr>
<tr>
<td width="40%">
Mobile Number:
</td>
<td width="60%">
<input type="text" name="mobilenumber" />
</td>
</tr>
<tr>
<td width="40%">
E-mail: *
</td>
<td width="60%">
<input type="text" name="email" />
</td>
</tr>
<tr>
<td width="40%">
Deliver Address: *
</td>
<td width="60%">
<textarea name="deliveryaddress" rows="3" cols="40"></textarea>
</td>
</tr>
</table>
</br>
<!-- this is the ordering part of the form --!>
<h3>Duvets</h3>
<?php
//Start session
//session_start();
//Include database connection details
require_once('config.php');
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
$result = mysql_query("SELECT * FROM 5050goosedown ORDER BY price ASC");
echo "<table border='0' width='496'>
<tr>
<th width='30%'><b>50/50 Goose Down:</b></th>
<th width='30%'><i>Normal Fill/Our Fill</i></th>
<th width='12.5%'><i>Old Price</i></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";
$i = 1;
while($row = mysql_fetch_array($result)){
echo "<tr bgcolor='#F5F5F5'>";
if($i%2 == 0){
echo "<tr bgcolor='#E5E5E5'>";
}
$i++;
if (($row['width'] ==0) && ($row['height']== 0)){
echo "<td>" . $row['name'] . "</td>";
}
else {
echo "<td>" . $row['name'] . " -" . $row['width'] . "/" . $row['height'] . "</td>";
}
echo "<td>" . $row['normal_fill'] . "/" . $row['our_fill'] . "</td>";
if ($row['old_price'] !=0){
echo "<td>" . $row['old_price'] . "</td>";
}
else {
echo "<td></td>";
}
echo "<td>" . $row['price'] . "</td>";
echo "<td><select name=". $row['goosedown_id'] .">
<option value=''> 0 </option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
</select>
</td>";
echo "</tr>";
}
echo "</table>";
?>
</br></br>
<?php
//Start session
//session_start();
//Include database connection details
require_once('config.php');
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
$result = mysql_query("SELECT * FROM 5050duckdown ORDER BY price ASC");
echo "<table border='0' width='496'>
<tr>
<th width='30%'><b>50/50 Duck Down:</b></th>
<th width='30%'><i>Normal Fill/Our Fill</i></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";
$i = 1;
while($row = mysql_fetch_array($result)){
echo "<tr bgcolor='#F5F5F5'>";
if($i%2 == 0){
echo "<tr bgcolor='#E5E5E5'>";
}
$i++;
if (($row['width'] ==0) && ($row['height']== 0)){
echo "<td>" . $row['name'] . "</td>";
}
else {
echo "<td>" . $row['name'] . " -" . $row['width'] . "/" . $row['height'] . "</td>";
}
echo "<td>" . $row['normal_fill'] . "/" . $row['our_fill'] . "</td>";
echo "<td>" . $row['price'] . "</td>";
echo "<td><select name=". $row['duckdown_id'] .">
<option value=''> 0 </option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
</select>
</td>";
echo "</tr>";
}
echo "</table>";
?>
</br></br>
<?php
//Start session
//session_start();
//Include database connection details
require_once('config.php');
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
$result = mysql_query("SELECT * FROM 955goosedown ORDER BY price ASC");
echo "<table border='0' width='496'>
<tr>
<th width='30%'><b>95/5 Goose Down:</b></th>
<th width='30%'><i>Normal Fill/Our Fill</i></th>
<th width='12.5%'><i>Old Price</i></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";
$i = 1;
while($row = mysql_fetch_array($result)){
echo "<tr bgcolor='#F5F5F5'>";
if($i%2 == 0){
echo "<tr bgcolor='#E5E5E5'>";
}
$i++;
if (($row['width'] ==0) && ($row['height']== 0)){
echo "<td>" . $row['name'] . "</td>";
}
else {
echo "<td>" . $row['name'] . " -" . $row['width'] . "/" . $row['height'] . "</td>";
}
echo "<td>" . $row['normal_fill'] . "/" . $row['our_fill'] . "</td>";
if ($row['old_price'] !=0){
echo "<td>" . $row['old_price'] . "</td>";
}
else {
echo "<td></td>";
}
echo "<td>" . $row['price'] . "</td>";
echo "<td><select name=". $row['955goosedown_id'] .">
<option value=''> 0 </option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
</select>
</td>";
echo "</tr>";
}
echo "</table>";
?>
</br>
<h3>Pillows</h3>
<?php
//Start session
//session_start();
//Include database connection details
require_once('config.php');
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
$result = mysql_query("SELECT * FROM goosedownpillows ORDER BY price ASC");
echo "<table border='0' width='496'>
<tr>
<th width='62.5%'><b>Goose Down Pillows:</b></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";
$i = 1;
while($row = mysql_fetch_array($result)){
echo "<tr bgcolor='#F5F5F5'>";
if($i%2 == 0){
echo "<tr bgcolor='#E5E5E5'>";
}
$i++;
echo "<td>" . $row['name'] ."</td>";
echo "<td>" . $row['price'] . "</td>";
echo "<td><select name=". $row['goosedownpillows_id'] .">
<option value=''> 0 </option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
</select>
</td>";
echo "</tr>";
}
echo "</table>";
?>
</br>
<h3>Feather Mattress Toppers</h3>
<?php
//Start session
//session_start();
//Include database connection details
require_once('config.php');
//Array to store validation errors
$errmsg_arr = array();
//Validation error flag
$errflag = false;
//Connect to mysql server
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
$result = mysql_query("SELECT * FROM feathermattresstoppers ORDER BY price ASC");
echo "<table border='0' width='496'>
<tr>
<th width='62.5%'><b>95/5 Mattress Toppers:</b></th>
<th width='12.5%'><i>Old Price</i></th>
<th width='12.5%'><i>Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
</tr>";
$i = 1;
while($row = mysql_fetch_array($result)){
echo "<tr bgcolor='#F5F5F5'>";
if($i%2 == 0){
echo "<tr bgcolor='#E5E5E5'>";
}
$i++;
if (($row['width'] ==0) && ($row['height']== 0)){
echo "<td>" . $row['name'] . "</td>";
}
else {
echo "<td>" . $row['name'] . " -" . $row['width'] . "/" . $row['height'] . "</td>";
}
if ($row['old_price'] !=0){
echo "<td>" . $row['old_price'] . "</td>";
}
else {
echo "<td></td>";
}
echo "<td>" . $row['price'] . "</td>";
echo "<td><select name=". $row['feathermattresstoppers_id'] .">
<option value=''> 0 </option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
</select>
</td>";
echo "</tr>";
}
echo "</table>";
?>
<p><b>Additional Info:</b><br />
<textarea name="comments" rows="10" cols="40"></textarea></p>
</br></br>496
Access code: <input type="text" name="code" /><br />
Please enter <i>MYCODE</i> above. </br></br>
<input type="submit" value="Submit" id="myButton" />
</td>
</tr>
</table>
</td>
這是orderformDNP其劑量似乎沒有正常工作的代碼..這我只是說不出爲什麼..
<?php
session_start();
$body_items = '';
$total_price = 0;
/* Set Redgraves Email address, so they receive the orders */
$myemail = "[email protected]";
/* Check all form inputs using check_input function */
$yourname = check_input($_POST['yourname'], "Enter your name");
$phonenumber = check_input($_POST['phonenumber'], "Enter your phone number");
$mobilenumber = check_input($_POST['mobilenumber']);
$email = check_input($_POST['email'], "Enter your E-mail address");
$deliveryaddress = check_input($_POST['deliveryaddress'], "Enter your delivery address");
$comments = check_input($_POST['comments']);
$random = substr(number_format(time() * rand(),0,'',''),0,10);
$goosedown_id = ($_POST[$row['goosedown_id']]);
if (strtolower($_POST['code']) != 'mycode')
{
die('Wrong access code');
}
/* If e-mail is not valid show error message */
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email))
{
show_error("E-mail address not valid");
}
/* If phone number has characters show error message */
if (preg_match("/\D/",$phonenumber))
{
die("Please enter numbers only for Phone Number");
}
/* If mobile number has characters show error message */
if (preg_match("/\D/",$mobilenumber))
{
die("Please enter numbers only for Mobile Number");
}
// 5050duckdown
$flag = 0;
$i = 1;
$order_content = '';
foreach ($_POST['5050goosedown'] as $key => $value) {
if ($value > 0) {
$flag = 1;
if($i%2 == 0)
$order_content .= "<tr bgcolor='#E5E5E5'>";
else
$order_content .= "<tr bgcolor='#F5F5F5'>";
$i++;
if (($row['width'] ==0) && ($row['height']== 0))
$order_content .= "<td>" . $_SESSION['5050goosedown'][$key]['name'] . "</td>";
else
$order_content .= "<td>" . $_SESSION['5050goosedown'][$key]['name'] . " -" . $_SESSION['5050goosedown'][$key]['width'] . "/" . $_SESSION['5050goosedown'][$key]['height'] . "</td>";
$order_content .= "<td>" . $_SESSION['5050goosedown'][$key]['price'] . "</td>";
$order_content .= "<td>" . $value . "</td>";
$sub = $_SESSION['5050goosedown'][$key]['price'] * $value;
$total_price += $sub;
$order_content .= "<td>" . $sub . "</td></tr>";
}
}
if ($flag == 1) {
$body_items .= "<table border='0' width='600'>
<tr>
<th width='30%'><b>50/50 Goose Down:</b></th>
<th width='12.5%'><i>Item Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
<th width='12.5%'><i>Price</i></th>
</tr>";
$body_items .= $order_content;
$body_items .= '</table><br /><br />';
}
//////////////
$flag = 0;
$i = 1;
$order_content = '';
foreach ($_POST['5050duckdown'] as $key => $value) {
if ($value > 0) {
$flag = 1;
if($i%2 == 0)
$order_content .= "<tr bgcolor='#E5E5E5'>";
else
$order_content .= "<tr bgcolor='#F5F5F5'>";
$i++;
if (($row['width'] ==0) && ($row['height']== 0))
$order_content .= "<td>" . $_SESSION['5050duckdown'][$key]['name'] . "</td>";
else
$order_content .= "<td>" . $_SESSION['5050duckdown'][$key]['name'] . " -" . $_SESSION['5050duckdown'][$key]['width'] . "/" . $_SESSION['5050duckdown'][$key]['height'] . "</td>";
$order_content .= "<td>" . $_SESSION['5050duckdown'][$key]['price'] . "</td>";
$order_content .= "<td>" . $value . "</td>";
$sub = $_SESSION['5050duckdown'][$key]['price'] * $value;
$total_price += $sub;
$order_content .= "<td>" . $sub . "</td></tr>";
}
}
if ($flag == 1) {
$body_items .= "<table border='0' width='600'>
<tr>
<th width='30%'><b>50/50 Duck Down:</b></th>
<th width='12.5%'><i>Item Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
<th width='12.5%'><i>Price</i></th>
</tr>";
$body_items .= $order_content;
$body_items .= '</table><br /><br />';
}
/////////////////
$flag = 0;
$i = 1;
$order_content = '';
foreach ($_POST['955goosedown'] as $key => $value) {
if ($value > 0) {
$flag = 1;
if($i%2 == 0)
$order_content .= "<tr bgcolor='#E5E5E5'>";
else
$order_content .= "<tr bgcolor='#F5F5F5'>";
$i++;
if (($row['width'] ==0) && ($row['height']== 0))
$order_content .= "<td>" . $_SESSION['955goosedown'][$key]['name'] . "</td>";
else
$order_content .= "<td>" . $_SESSION['955goosedown'][$key]['name'] . " -" . $_SESSION['955goosedown'][$key]['width'] . "/" . $_SESSION['955goosedown'][$key]['height'] . "</td>";
$order_content .= "<td>" . $_SESSION['955goosedown'][$key]['price'] . "</td>";
$order_content .= "<td>" . $value . "</td>";
$sub = $_SESSION['955goosedown'][$key]['price'] * $value;
$total_price += $sub;
$order_content .= "<td>" . $sub . "</td></tr>";
}
}
if ($flag == 1) {
$body_items .= "<table border='0' width='600'>
<tr>
<th width='30%'><b>95/5 Goose Down:</b></th>
<th width='12.5%'><i>Item Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
<th width='12.5%'><i>Price</i></th>
</tr>";
$body_items .= $order_content;
$body_items .= '</table><br /><br />';
}
//////
$flag = 0;
$i = 1;
$order_content = '';
foreach ($_POST['goosedownpillows'] as $key => $value) {
if ($value > 0) {
$flag = 1;
if($i%2 == 0)
$order_content .= "<tr bgcolor='#E5E5E5'>";
else
$order_content .= "<tr bgcolor='#F5F5F5'>";
$i++;
if (($row['width'] ==0) && ($row['height']== 0))
$order_content .= "<td>" . $_SESSION['goosedownpillows'][$key]['name'] . "</td>";
else
$order_content .= "<td>" . $_SESSION['goosedownpillows'][$key]['name'] . " -" . $_SESSION['goosedownpillows'][$key]['width'] . "/" . $_SESSION['goosedownpillows'][$key]['height'] . "</td>";
$order_content .= "<td>" . $_SESSION['goosedownpillows'][$key]['price'] . "</td>";
$order_content .= "<td>" . $value . "</td>";
$sub = $_SESSION['goosedownpillows'][$key]['price'] * $value;
$total_price += $sub;
$order_content .= "<td>" . $sub . "</td></tr>";
}
}
if ($flag == 1) {
$body_items .= "<table border='0' width='600'>
<tr>
<th width='30%'><b>Goose Down Pillows:</b></th>
<th width='12.5%'><i>Item Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
<th width='12.5%'><i>Price</i></th>
</tr>";
$body_items .= $order_content;
$body_items .= '</table><br /><br />';
}
//////
$flag = 0;
$i = 1;
$order_content = '';
foreach ($_POST['feathermattresstoppers'] as $key => $value) {
if ($value > 0) {
$flag = 1;
if($i%2 == 0)
$order_content .= "<tr bgcolor='#E5E5E5'>";
else
$order_content .= "<tr bgcolor='#F5F5F5'>";
$i++;
if (($row['width'] ==0) && ($row['height']== 0))
$order_content .= "<td>" . $_SESSION['feathermattresstoppers'][$key]['name'] . "</td>";
else
$order_content .= "<td>" . $_SESSION['feathermattresstoppers'][$key]['name'] . " -" . $_SESSION['feathermattresstoppers'][$key]['width'] . "/" . $_SESSION['feathermattresstoppers'][$key]['height'] . "</td>";
$order_content .= "<td>" . $_SESSION['feathermattresstoppers'][$key]['price'] . "</td>";
$order_content .= "<td>" . $value . "</td>";
$sub = $_SESSION['feathermattresstoppers'][$key]['price'] * $value;
$total_price += $sub;
$order_content .= "<td>" . $sub . "</td></tr>";
}
}
if ($flag = 1) {
$body_items .= "<table border='0' width='600'>
<tr>
<th width='30%'><b>95/5 Mattress Toppers:</b></th>
<th width='12.5%'><i>Item Price</i></th>
<th width='12.5%'><i>Quantity</i></th>
<th width='12.5%'><i>Price</i></th>
</tr>";
$body_items .= $order_content;
$body_items .= '</table><br /><br />';
}
$body_items .= "<br /><b>Total: $total_price</b></b></b>";
/*-------------------First Email--------------------*/
/* Set Email for Redgraves, so they can for-full the order form */
$message = "A order form has been submitted by: $yourname<br /><br />
Order number :<u>$random</u><br /><br />
<b>Name:</b> $yourname<br />
<b>E-mail:</b> $email<br />
<b>Phone Number:</b> $phonenumber<br />
<b>Mobile Number:</b> $mobilenumber<br />
<b>Delivery Address:</b> $deliveryaddress<br />
<b>Comments:</b> $comments<br /><br />
$body_items
<br /><br />**End of message**
";
/* Send the message using mail() function */
$header= "MIME-Version: 1.0\r\n";
$header.= "Content-type: text/html\r\n";
mail($myemail, "Order Submitted", $message, $header);
/* Send the message using mail() function */
//mail($myemail, "Order Submitted", $message);
/*---------------Second Email---------------------*/
/* This email is to confirm the order and act as a receipt to the purchaser */
$respond_message = "Order Completed<br /><br />
Your order has been submitted! details are as follows<br /><br />
<b>Name:</b> $yourname<br />
<b>E-mail:</b> $email<br />
<b>Phone Number:</b> $phonenumber<br />
<b>Mobile Number:</b> $mobilenumber<br />
<b>Delivery Address:</b> $deliveryaddress<br />
<b>Comments:</b> $comments<br /><br />
$body_items
<br /><b>Reference Number:</b> <u>$random</u><br /><br />
Please make payment using the refrence number above within 7 working days or your order will be canceled <br />
ASB 000-0000-0000-00 ";
/* Send the message using mail() function */
$headers= "MIME-Version: 1.0\r\n";
$headers.= "Content-type: text/html\r\n";
mail($email, "Thank you for your order", $respond_message, $headers);
/* Redirect visitor to the thank you page */
header('Location: thankyou.html');
exit();
/* Functions we used */
function check_input($data, $problem='')
{
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
if ($problem && strlen($data) == 0)
{
show_error($problem);
}
return $data;
}
function show_error($myError)
{
?>
<html>
<body>
<b>Please correct the following error:</b><br />
<?php echo $myError; ?>
</body>
</html>
<?php
exit();
}
?>
這是發生了什麼事到電子郵件... :(
A order form has been submitted by: kc
Order number :8674170468
Name: kc
E-mail: [email protected]
Phone Number: 0941
Mobile Number: 64215
Delivery Address: japan
Comments:
95/5 Mattress Toppers: Item Price Quantity Price
Total: 0
**End of message**
我一直在此爲一對夫婦,現在兩天,我woundering也許可以在此錯誤可以通過在數據庫什麼的PHP版本引起的???
任何幫助,將不勝感激
UPDATE:這是從的print_r($ _ POST)生成的;
Array ([yourname] => kc
[phonenumber] => 987
[mobilenumber] => 987
[email] => [email protected]
[deliveryaddress] => testing 66
[1] =>
[2] =>
[comments] => sdsdf
[code] => MYCODE)
更新2:電子郵件輸出不ouputting價格,以及一對夫婦的其他值
的
'總數:0'這是錯誤的一部分嗎? – 2013-03-26 07:00:37
看不到任何錯誤 – 2013-03-26 07:01:24
@HankyPankyㇱ是的,無論我在第一部分中選擇多少項目,alwas返回0作爲我現在的總數..並且總是95/5牀墊Toppers,即使沒有選定的值面積 – HurkNburkS 2013-03-26 07:04:44