我正在構建一個確認頁面和一個簡單的購物車腳本。但我無法通過郵件發送這些值,使用我已放在頁面末尾的「發送」按鈕。
如果我沒有將郵件程序部分包含在按鈕的「if」條件中,它將工作並在頁面加載時發送這些東西。但是,當我在「如果」條件下包裝它時,我只收到一封空白的電子郵件。
UPDATE: 前一頁裏面,至極有「訂購」的形式,我從法切換=「發帖」方法=「獲取」。
而在第二頁,
我已經改變了方法,在循環中從$ _ POST到$ _GET。至於按鈕保持$ _POST方法與表單內的方法=「後」(在底部)。現在它可以工作,但我不明白爲什麼。
與表格第一頁:
<!DOCTYPE html>
<head>
<title>Alm Chalet Menu</title>
<link href="css/template.css" type="text/css" rel="stylesheet" />
</head>
<body>
<h2>Alm Chalet Menu</h2>
<p>Biologische Säfte </p>
<form method="get" action="order.php">
<p><input type="number" name="orange" min="0" value="0" class="count_style">
Orange</p>
<p><input type="number" name="multivitamine" min="0" value="0" class="count_style">Multivitamine</p>
<input type="submit" name="send" value="Send Menu" />
</form>
</body>
</html>
其次,確認頁面:
<!DOCTYPE html>
<head>
<link href="css/template.css" type="text/css" rel="stylesheet" />
<title>Ordered Food</title>
</head>
<body>
Your order the following:
<table id="order_table">
<tbody>
<?php
$items = '';
foreach($_POST as $key => $value){
if ($value == 0) {
continue;
}
echo "<tr><td>$key</td><td class='value'>$value</td></tr>";
$items .= "$key: $value\n";
}
if (isset($_GET['send'])) {
$message = $items;
mail("****@yahoo.com", $subject, $message, $headers);
echo "<p>Thanks for your order!</p>";
}
?>
</tbody>
</table>
<p>
<form method="get">
<input name="send" type="submit" value="Send Order">
</form>
</p>
</body>
</html>
PHP是一種鬆散類型的語言,所以'if($ value == 0){'可以滿足很多'$ value's'。嚴格(類型安全)比較使用'==='。 [見文檔](http://php.net/language.operators.comparison/)瞭解'=='和'==='之間的區別。 –
嗨@shamil,即使我刪除了「if($ value == 0)」語句。沒有什麼變化...... :( –
你的意思是@AmalMurali – bear