我已經創建了一個html表單,它被設計用來做兩件事 - 提交表單信息到指定的電子郵件地址並將用戶重定向到網站上的另一個頁面。我創建了一個.php表單來管理這些操作。表單成功重定向併發送電子郵件。但是,電子郵件具有正確的目的地,主題和消息,但未能提取用戶提交給表單的信息 - 例如姓名,地址,電子郵件等。.html表單信息無法通過.php提交到電子郵件
我對網絡開發完全陌生,但希望您能提供任何見解。謝謝!
HTML:
<section>
<div class="row">
<div class="col-lg-offset-3 col-lg-6 col-md-12"><form name="Whitepaper
Request form" method="POST" action="Info-Request.php" class="text-center">
<input name="First_Name" type="text" required class="contact-field-sm"
id="fname" placeholder="First Name">
<input name="Last_Name" type="text" required class="contact-field-sm"
id="lname" placeholder="Last Name"><br><br>
<input name="Address" type="text" class="contact-field-sm" id="address"
placeholder="Address">
<input name="City" type="text" class="contact-field-sm" id="city"
placeholder="City"><br><br>
<input name="State" type="text" class="contact-field-sm" id="state"
placeholder="State">
<input name="Zip" type="text" class="contact-field-sm" id="zip"
placeholder="Zip"><br><br>
<input name="Phone" type="tel" class="contact-field-sm" id="phone"
placeholder="Phone">
<input name="Email" type="email" class="contact-field-sm" id="email"
placeholder="Email"><br><br>
<input name="Company" type="text" required class="contact-field-sm"
id="company" placeholder="Company">
<input name="Title" type="text" required class="contact-field-sm" id="title"
placeholder="Title"><br><br>
<input id="submit" type="submit" value="Submit">
</form>
PHP:
<?php
if(!isset($_POST['submit']))
$to = "[email protected]";
$from = 'Whitepaper Request Form';
$email_subject = " ";
$email_message = "Results from Whitepaper Request Form:\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$First_Name = $_POST['First_Name'];
$Last_Name = $_POST['Last_Name'];
$email_message .= "First Name: ".clean_string($First_Name)."\n";
$email_message .= "Last Name: ".clean_string($Last_Name)."\n";
$email_message .= "Address: ".clean_string($Address)."\n";
$email_message .= "City: ".clean_string($City)."\n";
$email_message .= "State: ".clean_string($State)."\n";
$email_message .= "Zip: ".clean_string($Zip)."\n";
$email_message .= "Phone: ".clean_string($Phone)."\n";
$email_message .= "Email: ".clean_string($Email)."\n";
$email_message .= "Company: ".clean_string($Company)."\n";
$email_message .= "Title: ".clean_string($Title)."\n";
mail($to,$from,$email_subject,$email_message);
header('Location: Example_Retro_WhtP.pdf');
?>
[EDITED] PHP:
<?php
if(isset($_POST['submit'])){
$to = '[email protected]';
$subject = 'Whitepaper Request Form';
$email_message = 'Results from Whitepaper Request Form:\n\n';
$headers = 'From: [email protected]';
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "First Name: ".clean_string($_POST['First_Name'])."\n";
$email_message .= "Last Name: ".clean_string($Last_Name)."\n";
$email_message .= "Address: ".clean_string($Address)."\n";
$email_message .= "City: ".clean_string($City)."\n";
$email_message .= "State: ".clean_string($State)."\n";
$email_message .= "Zip: ".clean_string($Zip)."\n";
$email_message .= "Phone: ".clean_string($Phone)."\n";
$email_message .= "Email: ".clean_string($Email)."\n";
$email_message .= "Company: ".clean_string($Company)."\n";
$email_message .= "Title: ".clean_string($Title)."\n";
mail($to,$subject,$email_message,$headers);
header('Location: Example_Retro_WhtP.pdf');
exit;
}
?>
第一個和最後一個名字應該通過,但沒有任何其他信息的是未來,因爲你永遠不引用POST變量。例如。 '$ _POST ['Email']' – j08691
作爲POST變量的名字和姓氏也不起作用。 –
你已經在用名字和姓氏做正確的事情(只)你所有其他的表單變量都不會被包裝在'$ _POST ['']'中。嘗試在您的PHP腳本中添加一個'print_r($ _ POST)'或'var_dump()'來查看錶單中的內容。 – j08691