<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$priority = $_POST['priority'];
$type = $_POST['type'];
$website = $_POST['website'];
$message = $_POST['message'];
$mail_to = 'info@mohdify.net';
$subject = 'Message from a site visitor '.$subject;
$body_message = "From: $name'n";
$body_message .= "E-mail: $email'n";
$body_message .= "Phone: $phone'n";
$body_message .= "Priority: $priority'n";
$body_message .= "Type: $type'n";
$body_message .= "Website: $website'n";
$body_message .= "Message: $message";
$headers = "From: $email";
$headers .= "Reply-To: $email";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Thank you for the message. We will contact you shortly.');
window.location = 'contact_page.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Message failed. Please try ');
window.location = 'contact_page.html';
</script>
<?php
}
?>
这是PHP文件,但每次我尝试时,我都可以收到消息,但它不包括输入的值。
收到的电子邮件如下所示
From:
E-mail:
Phone:
Priority:
Type:
Website:
Message:
有人可以帮助我解决问题吗?
谢谢
您可以
尝试将sprintf
与$_REQUEST
一起使用,而不是$_POST
,因为$_REQUEST
会同时查看post
和get
以及其他各种内容。
<?php
$name = $_REQUEST['name'];
$email = $_REQUEST['email'];
$phone = $_REQUEST['phone'];
$priority = $_REQUEST['priority'];
$type = $_REQUEST['type'];
$website = $_REQUEST['website'];
$message = $_REQUEST['message'];
$mail_to = 'info@mohdify.net';
$subject = sprintf("Message from a site visitor %s'n", $subject);
$body_message = sprintf("From: %s'n", $name);
$body_message .= sprintf("E-Mail: %s'n", $email);
$body_message .= sprintf("Phone: %s'n", $phone);
$body_message .= sprintf("Priority: %s'n", $priority);
$body_message .= sprintf("Type: %s'n", $type);
$body_message .= sprintf("Website: %s'n", $website);
$body_message .= sprintf("Message: %s'n", $message);
$headers = sprintf("From: %s'n", $email);
$headers .= sprintf("Reply-To: %s'n", $email);
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) { ?>
<script language="javascript" type="text/javascript">
alert('Thank you for the message. We will contact you shortly.');
window.location = 'contact_page.html';
</script>
<?php
}
else { ?>
<script language="javascript" type="text/javascript">
alert('Message failed. Please try ');
window.location = 'contact_page.html';
</script>
<?php
}
?>
先给我看你的 HTML。
确保已为表单设置method="post"
。另外,检查输入的名称 - 它们必须匹配 POST 数组中的变量。
<form id="contact-form" action="mail.php" method="POST">
<h3>Get in touch</h3>
<h4>Fill in the form below, and we'll get back to you within 24 hours.</h4>
<div>
<label>
<span>Name: (required)</span>
<input placeholder="Please enter your name" type="text" name="name" required autofocus>
</label>
</div>
<div>
<label>
<span>Email: (required)</span>
<input placeholder="Please enter your email address" type="email" name="email" tabindex="2" required>
</label>
</div>
<div>
<label>
<span>Telephone: (required)</span>
<input placeholder="Please enter your number" type="tel" name="phone" tabindex="3" required>
</label>
</div>
<div>
<label>
<span>What do you look for? (required)</span>
<select name="priority" size="1">
<option value="Low">Choose from these</option>
<option value="Normal">Option 1</option>
<option value="High">Option 2</option>
<option value="Emergency">Option 3</option>
</select> </label>
</div>
<div>
<label>
<span>Type: (required)</span>
<select name="type" size="1">
<option value="update">Personal</option>
<option value="change">Small Business</option>
<option value="addition">Professional</option>
</select>
</label>
</div>
<div>
<label>
<span>Website: (required)</span>
<input placeholder="Begin with http://" type="url"name="website" tabindex="4" >
</label>
</div>
<div>
<label>
<span>Message: (required)</span>
<textarea placeholder="Include all the details you can" tabindex="5" name="message" required></textarea>
</label>
</div>
<div>
<button name="submit" type="submit" id="contact-submit" value="send">Send Email</button>
</div>
</form>