大きな問題があります。誰かが複数の製品を選択すると、たとえば 3 つの製品を選択すると、ショッピング カートに入ります。彼が注文 (チェックアウト) を送信すると、メールには 3 つではなく、最初の製品しか表示されません。
これは、function.js で次のように述べているためです。
function fillInForm(){
NumberOrdered = 0;
NumberOrdered = readCookies("NumberOrdered");
for (i = 1; i <= NumberOrdered; i++){
NewOrder = "Order" + i;
thisCookie = "";
thisCookie = readCookies(NewOrder);;
fields = new Array();
fields = thisCookie.split("|");
document.write("<input type=hidden name=\"Product ID " + i + "\" value=\"" + fields[0] + "\">");
document.write("<input type=hidden name=\"Brand " + i + "\" value=\"" + fields[1] + "\">");
document.write("<input type=hidden name=\"Model " + i + "\" value=\"" + fields[2] + "\">");
document.write("<input type=hidden name=\"Price " + i + "\" value=\"" + fields[3] + "\">");
document.write("<input type=hidden name=\"Amount products " + i + "\" value=\"" + fields[4] + "\">");
document.write("<input type=hidden name=\"Total cost " + i + "\" value=\"" + fields[3] * fields[4] + "\">");
document.write("<input type=hidden name=\" " + "\" value=\"" + "\">");
}
}
var_dump($_GET); を使用する場合 それは私にすべてを示すので、それが私に示す3つの製品は次のようなものを持っています
["Brand_1"]=>
["Brand_2"]=>
["Brand_3"]=>
情報が送信されるmail.phpには次のものがあります。
$brand = $_GET["Brand_1"]; (<<WITH 1, one)
なぜなら
$brand = $_GET["Brand_i"]; (<<WITH i) does not work.
しかし、理論的には必要です
$brand = $_GET["Brand_i"] (<<WITH i)to get all the products............
どうすればこれを修正できますか?
メール.php
$productid = $_GET["Product_ID_1"];
$brand = $_GET["Brand_1"];
$model = $_GET["Model_1"];
$price = $_GET["Price_1"];
$amount = $_GET["Amount_products_1"];
$totalcost = $_GET["Total_cost_1"];
$message .= 'Your order information: ' . '<br />';
$message .= 'Product ID: ' . $productid . "<br />" .
'Brand: '. $brand . "<br />" .
'Model: ' . $model . "<br />" .
'Price per item: ' . $price . "<br />" .
'Amount of item: ' . $amount . "<br />" .
'Total cost: ' . $totalcost . "<br />" .
'Order date and time: ' . $date;
$message .= '</body></html>';