簡體   English   中英

聯系表格未提交數據

[英]Contact form not submitting data

我不明白怎么了,但是我的聯系表單正在運行“郵件”腳本,但是沒有任何POST數據。 誰能告訴我為什么它不起作用?

index.php:

<form id="newsletter-form" class="newsletter_form" action="php/order.php" method="post">
<input id="email_newsletter" required type="text" name="or_name" placeholder="Name*"> 
<input id="email_newsletter" type="text" name="or_company" placeholder="Company Name">
<input id="email_newsletter" required type="email" name="or_email" placeholder="Email*">
<input id="email_newsletter" type="tel" name="or_tel" placeholder="Phone">
<select id="email_newsletter" required name="or_package">
    <option value="" selected disabled>Select Package*</option>
    <option value="Starter">Starter - 1 Page Site £49</option>
    <option value="Business">Business - 3 Page Site £99</option>
    <option value="Premier">Premier - 6 Page Site £179</option>
</select>
<textarea id="email_newsletter" required class="or_tarea" name="or_details" placeholder="Project Details*"></textarea>
<input type="submit" value="SUBMIT!" id="submit-button-newsletter">
</form>

order.php:

<?php
$field_name = $_POST['or_name'];
$field_company = $_POST['or_company'];
$field_email = $_POST['or_email'];
$field_tel = $_POST['or_tel'];
$field_package = $_POST['or_package'];
$field_details = $_POST['or_details'];

$mail_to = 'my@email.com'; //Change to your email
$subject = 'Enquiry from '.$field_name.' ('.$field_company.')'; //Change to your subject

$body_message = 'From: '.$field_name."\n";
$body_message .= 'Company: '.$field_company."\n";
$body_message .= 'E-mail: '.$field_email."\n";
$body_message .= 'Phone: '.$field_tel."\n";
$body_message .= 'Package: '.$field_package."\n";
$body_message .= 'Details: '.$field_details;

$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";

$mail_status = mail($mail_to, $subject, $body_message, $headers);

?>

當然,電子郵件會直接發送到我的收件箱。 當我填寫表格並按發送時,我收到以下空白電子郵件:

Subject;
Enquiry from  ()
Message;
From: 
Company: 
E-mail: 
Phone: 
Package: 
Details:

第一步,您是否可以將POST變量回顯到腳本中以確保它們已被設置?

echo $field_name = $_POST['or_name'];

檢查所有傳遞的POST變量的值。

echo print_r($_POST,true);

檢查您的PHP錯誤日志以查看是否有任何警告/通知。

不相關:您是否在處理用戶輸入之前對其進行了消毒?

事實證明,盡管需要清理HTML和PHP,但它們根本不是問題。 這是一個已被修改的第三方腳本,結果是存在一個附加的JS文件,用於過濾POST信息。 我修改了它以包括新的表單輸入,並且可以正常工作:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM