如需HTML5/PHP帮助,请以无法正常工作的形式与我们联系

如需HTML5/PHP帮助,请以无法正常工作的形式与我们联系,php,html,Php,Html,你好 PHP的新手。我一直在一个网站(免费模板)的工作,并得到了所有的功能,除了联系我们的部分的代码。我没有收到任何错误,只是没有向列出的电子邮件发送任何电子邮件或向发件人发送回复 下面是代码的HTML部分: <form id="contact-form" action="php/mail.php"> <div class="control-group"> <div class="controls"> <input class="span6" type=

你好

PHP的新手。我一直在一个网站(免费模板)的工作,并得到了所有的功能,除了联系我们的部分的代码。我没有收到任何错误,只是没有向列出的电子邮件发送任何电子邮件或向发件人发送回复

下面是代码的HTML部分:

<form id="contact-form" action="php/mail.php">
<div class="control-group">
<div class="controls">
<input class="span6" type="text" id="name" name="name" placeholder="* Your name..."/>
<div class="error center" id="err-name">Please enter your name.</div>
</div></div>
<div class="control-group">
<div class="controls">
<input class="span6" type="email" name="email" id="email" placeholder="* Your email..."/>
<div class="error center" id="err-email">Please enter a valid email adress.</div></div></div>
<div class="control-group">
<div class="controls">
<textarea class="span6" name="comment" id="comment" placeholder="* Comments..."></textarea>
<div class="error center" id="err-comment">Please enter your comment.</div>
</div></div>
<div class="control-group">
<div class="controls">
<button id="send-mail" class="message-btn">Send message</button>
</div></div></form>
include 'functions.php';

if (!empty($_POST)) {

$data['success'] = true;
$_POST = multiDimensionalArrayMap('cleanEvilTags', $_POST);
$_POST = multiDimensionalArrayMap('cleanData', $_POST);

//your email adress
$emailTo = "myemail@gmail.com"; //"myemail@gmail.com";

//from email adress
$emailFrom = "myemail@gmail.com"; //"myemail@gmail.com";

//email subject
$emailSubject = "Mail from MyEmail";

$name = $_POST["name"];
$email = $_POST["email"];
$comment = $_POST["comment"];
if ($name == "")
$data['success'] = false;

if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email))
$data['success'] = false;

if ($comment == "")
$data['success'] = false;

if ($data['success'] == true) {

$message = "NAME: $name<br>
EMAIL: $email<br>
COMMENT: $comment";

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html; charset=utf-8" . "\r\n";
$headers .= "From: <$emailFrom>" . "\r\n";
mail($emailTo, $emailSubject, $message, $headers);

$data['success'] = true;
echo json_encode($data);
}
}

请输入您的姓名。
请输入有效的电子邮件地址。
请输入您的评论。
发送消息
这是使用的mail.php代码:

<form id="contact-form" action="php/mail.php">
<div class="control-group">
<div class="controls">
<input class="span6" type="text" id="name" name="name" placeholder="* Your name..."/>
<div class="error center" id="err-name">Please enter your name.</div>
</div></div>
<div class="control-group">
<div class="controls">
<input class="span6" type="email" name="email" id="email" placeholder="* Your email..."/>
<div class="error center" id="err-email">Please enter a valid email adress.</div></div></div>
<div class="control-group">
<div class="controls">
<textarea class="span6" name="comment" id="comment" placeholder="* Comments..."></textarea>
<div class="error center" id="err-comment">Please enter your comment.</div>
</div></div>
<div class="control-group">
<div class="controls">
<button id="send-mail" class="message-btn">Send message</button>
</div></div></form>
include 'functions.php';

if (!empty($_POST)) {

$data['success'] = true;
$_POST = multiDimensionalArrayMap('cleanEvilTags', $_POST);
$_POST = multiDimensionalArrayMap('cleanData', $_POST);

//your email adress
$emailTo = "myemail@gmail.com"; //"myemail@gmail.com";

//from email adress
$emailFrom = "myemail@gmail.com"; //"myemail@gmail.com";

//email subject
$emailSubject = "Mail from MyEmail";

$name = $_POST["name"];
$email = $_POST["email"];
$comment = $_POST["comment"];
if ($name == "")
$data['success'] = false;

if (!preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email))
$data['success'] = false;

if ($comment == "")
$data['success'] = false;

if ($data['success'] == true) {

$message = "NAME: $name<br>
EMAIL: $email<br>
COMMENT: $comment";

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html; charset=utf-8" . "\r\n";
$headers .= "From: <$emailFrom>" . "\r\n";
mail($emailTo, $emailSubject, $message, $headers);

$data['success'] = true;
echo json_encode($data);
}
}
包括“functions.php”;
如果(!空($\u POST)){
$data['success']=true;
$\u POST=多维数组映射('cleanEvilTags',$\u POST);
$\u POST=多维数组映射('cleanData',$\u POST);
//你的电子邮件地址
$emailTo=”myemail@gmail.com"; //"myemail@gmail.com";
//从电子邮件地址
$emailFrom=”myemail@gmail.com"; //"myemail@gmail.com";
//电子邮件主题
$emailSubject=“来自MyEmail的邮件”;
$name=$_POST[“name”];
$email=$_POST[“email”];
$comment=$_POST[“comment”];
如果($name==“”)
$data['success']=false;
如果(!preg_match(“/^[[0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\)+[a-zA-Z]{2,6}$/i,$email))
$data['success']=false;
如果($comment==“”)
$data['success']=false;
如果($data['success']==true){
$message=“NAME:$NAME
电子邮件:$EMAIL
评论:$COMMENT”; $headers=“MIME版本:1.0”。\r\n”; $headers.=“内容类型:text/html;字符集=utf-8”。\r\n”; $headers.=“From:”\r\n”; 邮件($emailTo、$emailSubject、$message、$headers); $data['success']=true; echo json_编码($data); } }
我真的被困在这一点上,这是我唯一剩下的问题,希望有人能帮我指出我做错了什么

问候,


Rafael

为了让
表单
发送
POST
请求,您需要通过添加
方法
属性来指定它:

<form id="contact-form" action="php/mail.php" method="post">

您的php邮件脚本是否放在cgi目录中?这是我的邮件脚本:

       <?php $name = trim(strip_tags($_POST['name']));
   $email = trim(strip_tags($_POST['email']));
   $message = htmlentities($_POST['message']);
   $subject = "Some subject";
   $to = 'info@xxx.de';
   $body = <<<HTML 
$message 
HTML;

   $headers = "From: $email\r\n";
   $headers .= "Content-type: text/html\r\n";

   // send the email
   mail($to, $subject, $body, $headers);

   // redirect afterwords, if needed
   header('Location: ../contact/thx.html');?>


它被放在cgi目录中。

经过CodeGoodie的大量研究和帮助,我认为责任在于主机。我曾问过如何检查服务器日志以检测错误,他们只是回答我需要升级才能使用该功能(尽管它应该已经是该功能的一部分)。谢谢大家的帮助。我确实学到了很多:)

您的
表单缺少
方法class='post'
属性!我现在就试试!我试过了。我知道消息已经发出了。但我还是没有收到电子邮件。。。可能是主机问题吗?可能是。。你的编码流程怎么样?您是否在本地测试,然后在服务器上测试?或者你完全只在你的服务器上测试?我直接在服务器上测试。没有办法用我的cPanel检查服务器日志。在模板中,我得到了它,告诉我把它放在HTML文件夹中。查看我的FTP是否应该位于根目录中?抱歉,新的PHP…它不需要在CGI目录中。这只是偏好。