2013-06-27 63 views
0

我從來沒有跑到這之前,臨時沒有PHP所以我試圖編碼一個非常簡單的一個我自己。發送消息按鈕似乎是一個鏈接,但不提交。你會友善地爲我檢查一下嗎?下面是HTML聯繫PHP不工作

<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 = '[email protected]'; // change to your email 
mail($send_to, "Name: $name" , $message, "From: $email"); 
echo "Thank you for your feedback"; 
?> 
+0

檢查我的答案。我對你的表單處理器做了一些修改。當然,你需要修改它以反映'$ company'字段。您可以添加它併爲其添加一個額外的'empty($ _ POST ['company'])||'。 –

回答

1

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

我取代它:

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

此檢查任何空字段。

注意

您可以在表單中添加一個額外的字段company,以及empty($_POST['company']) ||到PHP表單處理程序。

這是測試代碼:

表:

<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 protected]'; // change to your email 
mail($send_to, "Name: $name" , $message, "From: $email"); 

echo "Thank you for your feedback"; 
} 

?> 
+0

是的,謝謝你的工作 –

+0

@SeanKonig不客氣肖恩,我很高興能幫上忙。 –

+0

非常感謝你 –

3

你是正確的, 「發送消息」 的鏈接。所以它就像任何鏈接一樣行事,不提交表單。

爲了提交表單,你想要麼將其更改爲<input type="submit"><input type="button">,或創建一個click事件處理程序的JavaScript提交表單。

+0

沒問題,但知道它是帶我到我的PHP形式,而不是發送郵件。 這就是我所做的 –

+0

在你的'if'語句中,你沒有'$ company'定義,所以將解析爲假。所以它會一直解析表單而不發送郵件。 – Schleis