我被客户要求使用他们的联系表格链接到谷歌文档。我有一个视频,一步一步显示我做了什么,但当我提交表单时,有一个重定向到正在处理的页面,没有响应发送到表单文件。我将发布代码的代码。:
<div class="col-md-9 col-xs-12 forma">
<!--<form id="form" action="MWSContact.php" method="POST" enctype="text/plain">-->
<!--
<fieldset>
<input type="text" class="col-md-6 col-xs-12 name" name='name' placeholder='Name *'/>
<input type="text" class="col-md-6 col-xs-12 Email" name='Email' placeholder='Email *'/>
<input type="text" class="col-md-12 col-xs-12 Subject" name='Subject' placeholder='Subject'/>
<textarea type="text" class="col-md-12 col-xs-12 Message" name='Message' placeholder='Message *'></textarea>
</fieldset>
<div class="cBtn col-xs-12">
<fieldset>
<input class="send" type="submit" value="Send" />
<input class="reset" type="reset" value="Reset" />
</fieldset>
</div> -->
<!-- </form>-->
</div>
<?
if (isset($_POST['email'])){
//Here is the email to info
$emial_to = 'email';
$email_subject = "MWS Contact";
$email_from = "Client";
//Error Code
function died ($error){
echo "We are sorry, but there were error (s) in your submitted form.";
echo "These errors appear below.<br/><br/>";
echo $error. "<br/><br/>";
echo "Please check your information again.<br/>";
die();
}
//Validation
if (!isset($_POST['name']) ||
!isset($_POST['email']) ||
!isset($_POST['message']) ||
!isset($_POST['subject'])){
died ('We are sorry but there appears to be a probem with your form submitted.');
}
//values
$name = $_POST['name'];
$email = $_POST['email'];
$message= $_POST['message'];
$subject = $_POST['subject'];
//error messages
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if (!preg_match($email_exp, $email)){
$error_message .= 'The Email address you entered does not appear to be valid. <br/>';
}
$string_exp = "/^[A-Za-z.'-]+$/";
if (!preg_match($string_exp, $name)){
$error_message .= 'The name you endtered does not appear to be valid. <br/>';
}
if (strlen($message) <2){
$error_message .= 'The comment you entered does not appear to be valid.<br/>';
}
if (strlen($email_message) >0){
died($error_message);
}
//Sanitize
$email_message = "Form Details Below\n\n";
function clean_string($string){
$bad = array("content-type", "bcc:", "to:", "cc:", "href");
return str_replace($bad," ", $string);
}
$email_message .="Name:" . clean_string($name) . "\n";
$email_message .="Email:" . clean_string($email) . "\n";
$email_message .="Subject:" . clean_string($subject) . "\n";
$email_message .="Message:" . clean_string($message) . "\n";
"\n";
//headers
$headers = 'From: ' .$email_From . "\r\n". 'Reply-To:' . $email. "\r\n" . 'X-Mailer: PHP/' .phpversion();
@mail ($email_to, $email_subject, $email_message, $headers);
}
?>
Thank you for contacting us. We will be in contact with you shortly.
答案 0 :(得分:3)
查看您的作业和条件语句的所有POST数组的lettercase:
$_POST['name']
$_POST['email']
$_POST['message']
$_POST['subject']
然后以你的形式
<input type="text" class="col-md-6 col-xs-12 name" name='name' placeholder='Name *'/>
<input type="text" class="col-md-6 col-xs-12 Email" name='Email' placeholder='Email *'/>
<input type="text" class="col-md-12 col-xs-12 Subject" name='Subject' placeholder='Subject'/>
<textarea type="text" class="col-md-12 col-xs-12 Message" name='Message' placeholder='Message *'></textarea>
信箱必须匹配。您在email
中有$_POST['email']
,然后在name='Email'
输入。
if (isset($_POST['email'])){...}
条件语句中的任何内容都不会因为这个原因而触发,包括所有其他不会填充的POST数组。
因此,将它们全部更改为匹配name='email'
,并为其他人完成剩下的工作。
enctype="text/plain"
,这也会导致表单失败; 请务必从代码中删除<!--
和-->
。这些是HTML评论,屏幕上不会显示任何内容,也不会执行。
确保启用了短打开标记。否则,您需要将<?
更改为<?php
。
删除@
的{{1}},它是一个错误抑制器。
错误报告会发出信号&#34;未定义索引电子邮件....&#34;启用它的其他人。
将error reporting添加到文件的顶部,这有助于查找错误。
@mail
旁注:错误报告应仅在暂存时完成,而不是生产。
<强>脚注:强>
您似乎并未使用<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// rest of your code
执行任何操作,并且$subject
没有为其发送电子邮件地址分配任何内容。您需要修改代码以确定它应该是什么。
$email_to
需要添加到您的代码中,并将其替换为您的电子邮件地址。编辑:
你有$email_to = "email@example.com";
这是一个错字。见上面的代码。
$emial_to = 'email';
和$email_From
更多错别字。
您应该使用$email_from = "Client";
代替$email
mail()
期望$email = $_POST['email'];
是电子邮件,而不是名称。 From:
&lt; =应该是$headers = 'From: ' .$email_From
。
...编辑似乎是无穷无尽的。
请仔细检查整个代码,确保所有内容都匹配,没有错别字,字母问题。等