麻烦PHP

时间:2015-12-09 05:50:00

标签: php html forms contact

我是PHP的新手。基本上我是一名平面设计师转为前端设计师。我知道html css和简单的jquery。我需要在网站中包含此联系表单,但似乎无法正常工作。 Plz的帮助。如果有人可以指出代码是否有任何问题,那将会很有帮助。 提前谢谢。

这是联系表单的html部分:

<div class="form">  

<form action="mail.php" method="POST">
<label>Name</label>
<br>
<input type="text" name="name" placeholder="Type Here">
    <br><br><br>
<label>Email</label>
<br>
<input type="email" name="email" placeholder="Type Here">
  <br><br><br>
<label>Message</label>
<br>
<textarea name="message" rows="20" cols="20" placeholder="Type Here">    </textarea>
    <br><br><br>
<label>*What is 2+2? (Anti-spam)</label>
<br>
<input type="text" name="human" placeholder="Type    
 <br><br><br><br>
 <input id="submit" name="submit" type="submit" value="SUBMIT">
</form>

这是php:

<?php
$name = $_POST['name'];
$email = $_POST['email'];

$message = $_POST['message'];
$formcontent=" From: $name \n Message: $message";
$recipient = "saurabhdey84@gmail.com";
$subject = "Vibhor Sogani Website Contact Form";
$mailheader = "From: $email \r\n";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You! Your message has been sent." . "-" . <a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
?>

6 个答案:

答案 0 :(得分:0)

<强> HTML

将文字控制更改为

<input type="text" name="human" placeholder="Type the answer"/>

检测到格式错误:

<input type="text" name="human" placeholder="Type    
 <br><br><br><br>
 <input id="submit" name="submit" type="submit" value="SUBMIT">

<强> PHP : 最后的回声声明应该是这样的:(错过双引号

echo "Thank You! Your message has been sent." . "-" . "<a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";

不喜欢这样:

echo "Thank You! Your message has been sent." . "-" . <a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";

更好:

echo "Thank You! Your message has been sent. - <a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";

这里不需要任何连接!

答案 1 :(得分:0)

像这样改变你的回声,

echo "Thank You! Your message has been sent." . "- <a href='home.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
                                                ^// no need of contenation here

答案 2 :(得分:0)

如果你正在调用php页面,它只是取空白值,尝试这些更改并让我知道,

include_once("home.html");
if(isset($_POST['submit']))
{
**Your php code here**
}

答案 3 :(得分:0)

通过回显$ _POST ['name']检查您的POSTS是否被发送到服务器脚本。如果是,则mail()函数存在问题。 您正在使用默认的php mail()函数。如果没有正确的标头,它将无法正常工作。我看到你只使用了一个'回复'标题。所以你需要更深入地了解使用mail函数()。发送电子邮件的替代方法可能是广泛使用的phpmailer库

答案 4 :(得分:0)

试试这个,然后在输入结束标记处输入

        <?php 
   if(isset($_POST['submit']))

      {

  $name = $_POST['name'];
  $email = $_POST['email'];
  $message = $_POST['message'];

   $to = "maild@gmail.com";



      $subject = " contact form" ;
      $headers .= "MIME-Version: 1.0\r\n";
      $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
         $mesg = '$name  $email  $message';
     $kk=mail($to,$subject,$mesg,$headers);
       if($kk){
      ?>

     <script>

     window.location.href='thankyou.html';
        </script>

         }

    }

     ?>

答案 5 :(得分:0)

这通常是

$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= 'From: <webmaster@example.com>' . "\r\n";
$headers .= 'Cc: myboss@example.com' . "\r\n";

就像之前所说的,phpmailer库是一个更可靠的备用