【问题标题】:Contact PHP not working联系PHP不工作
【发布时间】:2013-06-27 13:40:30
【问题描述】:

我以前从未遇到过这种情况,临时没有 php,所以我尝试自己编写一个非常简单的代码。发送消息按钮似乎是一个链接,但不提交。你能不能帮我检查一下。这是HTML

<form method="post" action="contact.php">
<div class="row half">
    <div class="6u">
        <input name="name" placeholder="Name" type="text" class="text" />
    </div>
    <div class="6u">
        <input name="email" placeholder="Email" type="text" class="text" />
    </div>
</div>
<div class="row half">
    <div class="12u">
        <textarea name="message" placeholder="Message"></textarea>
    </div>
</div>
<div class="row half">
    <div class="12u">
    <a href="#" class="button button-icon icon icon-envelope">Send Message</a>
</div>

然后是我的 php

<?php
   $name    = $_POST ['name'];
   $email   = $_POST ['email'];
   $message = $_POST ['message'];
   if(!$name || !$company || !$email)
   {
       echo "
<h2>Feedback</h2>
<form method='post' action='contact.php'>
   Name: <br /><input name='name' type='text' value='$name' /><br /><br />
   EMail: <br /><input name='email' type='text' value='$email' /><br /><br />
   Message:<br />
   <textarea name='message' cols='55' rows='8'>$message</textarea><br /><br />
   <input type='submit' value='Send' />
</form>
<p>All fields are required</p>
    ";
       exit;
   }
$send_to = 'sean@seankonig.co.za'; // change to your email
mail($send_to, "Name: $name" , $message, "From: $email");
echo "Thank you for your feedback";
?>

【问题讨论】:

  • 检查我的答案。我对您的表单处理程序进行了一些修改。当然,您需要修改它以反映$company 字段。您可以添加它并为其添加额外的empty($_POST['company']) ||

标签: php html forms contact


【解决方案1】:

你是对的,“发送消息”是一个链接。所以它就像任何链接一样,而不是提交表单。

为了提交表单,您希望将其更改为&lt;input type="submit"&gt;&lt;input type="button"&gt;,或者在javascript 中创建click 事件处理程序来提交表单。

【讨论】:

  • 好的,但知道它会将我带到我的 php 表单而不是发送邮件。 这就是我所做的
  • 在 php 中的 if 语句中,您没有定义 $company,因此将解析为 false。所以它总是会解析表单而不是发送电子邮件。
【解决方案2】:

你有 if(!$name || !$company || !$email)

我将其替换为:

if(empty($_POST['name'])  || 
   empty($_POST['email']) || 
   empty($_POST['message']))

这会检查任何空字段。

注意

您可以在表单中为 company 添加一个额外的字段,也可以在 PHP 表单处理程序中添加 empty($_POST['company']) ||

这是经过测试的代码:

表格:

<form method="post" action="contact.php">
<div class="row half">
    <div class="6u">
        <input name="name" placeholder="Name" type="text" class="text" />
    </div>
    <div class="6u">
        <input name="email" placeholder="Email" type="text" class="text" />
    </div>
</div>
<div class="row half">
    <div class="12u">
        <textarea name="message" placeholder="Message"></textarea>
    </div>
</div>
<div class="row half">
    <div class="12u">

<input type="submit" value="Send Message" name="submit_button" class="button button-icon icon icon-envelope">

    </div>
</form>

处理程序:

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

if(empty($_POST['name'])  || 
   empty($_POST['email']) || 
   empty($_POST['message']))

 {
       echo "
<h2>Feedback</h2>
<form method='post' action='contact.php'>
   Name: <br /><input name='name' type='text' value='$name' /><br /><br />
   EMail: <br /><input name='email' type='text' value='$email' /><br /><br />
   Message:<br />
   <textarea name='message' cols='55' rows='8'>$message</textarea><br /><br />
   <input type='submit' value='Send' />
</form>
<p>All fields are required</p>
    ";
       exit;
   }

else {
$send_to = 'email@example.com'; // change to your email
mail($send_to, "Name: $name" , $message, "From: $email");

echo "Thank you for your feedback";
}

?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多