0
我有一些「訂單」頁面設置,允許用戶選擇要購買的商品。當他們點擊「訂單」時,他們會進入一個頁面,允許他們爲每個項目選擇動態填充下拉列表的詳細信息。這些下拉菜單處於循環狀態,因此每個項目都有自己的設置。將動態數據從JavaScript傳遞到PHP
這是我的問題開始的地方。如果訂單頁面上只有一個項目,它完美地工作。所有從下拉列表中選擇的信息都被拉到我的PHP腳本中,並將其格式化爲一封電子郵件並將訂單發送給我。如果訂單中有多個項目,它只會發送頁面上的最後一個項目。
下面是下拉列表中選擇代碼...
<form name="mediumselect">
<table>
<tr>
<td>
<select name="sel" onchange="selFormat(this);" style="width:200px">
<option value="">-Please select delivery format-</option>
<option value="File">File</option>
<option value="Tape">Tape</option>
<option value="Disc">Disc</option>
</select>
</td>
<td>
<select name="formats" onchange="selRate(this)" style="width:150px">
</select>
</td>
<td>
<select name="framerate" onchange="selColor(this)" style="width:150px">
</select>
</td>
<td>
<select name="color" style="width:150px">
</select>
</td>
</table>
</form>
這裏是PHP ...
<?php
$asset = $_REQUEST['assetname'];
$medium = $_REQUEST['sel'];
$type = $_REQUEST['formats'] ;
$framerate = $_REQUEST['framerate'] ;
$color = $_REQUEST['color'] ;
$body = <<<EOD
Asset Name: $asset
Asset format: $medium
Format Type: $type
Frame Rate/Resolution: $framerate
Codec or Color Subsample: $color
EOD;
$results = <<<EOD
<html>
<head>
<title>sent message</title>
<style type="text/css">
</style>
</head>
<div align="center">One your order is submitted, a confirmation email will be sent to above email with order details.</div>
</div>
</body>
</html>
EOD;
function spamcheck($field)
{
//filter_var() sanitizes the e-mail
//address using FILTER_SANITIZE_EMAIL
$field=filter_var($field, FILTER_SANITIZE_EMAIL);
//filter_var() validates the e-mail
//address using FILTER_VALIDATE_EMAIL
if(filter_var($field, FILTER_VALIDATE_EMAIL))
{
return TRUE;
}
else
{
return FALSE;
}
}
if (isset($_REQUEST['email']))
{
//if "email" is filled out, proceed
//check if the email address is invalid
$mailcheck = spamcheck($_REQUEST['email']);
if ($mailcheck==FALSE)
{
echo "Invalid input";
} else {
//send email
global $body;
global $results;
$email = $_REQUEST['email'] ;
mail("[email protected]", "Subject: INCOMING ORDER", $body, "From: $email");
echo "$results";
}
} else {//if "email" is not filled out, display the form
echo "<form method='post' action='mailform.php'>
Email: <input name='email' type='text'><br>
Subject: <input name='subject' type='text'><br>
Message:<br>
<textarea name='message' rows='15' cols='40'>
</textarea><br>
<input type='submit'>
</form>";
}
?>
我還是新的PHP,如果有一個更好的方式去關於這樣做,我會很感激這個建議。
我不知道你是如何理解這個問題的。 – Khez
如果我不知道循環需要運行的確切次數,是否可以連接? – Peter