[英]My PHP form is sending blank entries when the page loads/refreshes
當用戶在字段中輸入有效數據並點擊提交時,我的 PHP 聯系表單工作正常並向我的電子郵件發送信息,但每次我加載包含表單的頁面時,它也會向我發送一封空白電子郵件。 我認為這可能與我的提交條件有關:
提交按鈕代碼:
<div class="col-md-12 submit-button">
<input type="submit" class="btn btn-success btn-send" value="Send message" />
<div class="success"><?= $success ?></div>
</div>
form_process.php 發送代碼:
if ($name_error == '' and $email_error == '' and $phone_error == '' ){
$message_body = '';
unset($_POST['submit']);
foreach ($_POST as $key => $value) {
$message_body .= "$key: $value\n";
}
$to = 'admin@domain.com';
$subject = 'contact form submitted';
if(mail($to, $subject, $message_body)){
$success = "Thank you for contacting us, we will get back to you as soon as possible.";
$name = $email = $organization = $phone = $message = '';
}
}
謝謝!
您需要檢查表單是否已提交,因此您在加載表單時不要運行代碼。
if (isset($_POST{'submit'])) {
// All the code that processes the form goes here
}
您必須在執行發送電子郵件腳本之前檢查表單是否已提交。
首先為您的提交輸入添加一個名稱
<div class="col-md-12 submit-button">
<input name="submit" type="submit" class="btn btn-success btn-send" value="Send message" />
<div class="success"><?= $success ?></div>
</div>
然后將您的發送電子郵件代碼包裝在一個 if 中,檢查是否存在 $_POST['submit']
if (isset($_POST['submit'])) {
// your send email code
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.