2013-07-11 81 views
-1

我有一個聯繫表格不會工作我一直在試圖讓它工作幾個月,嘗試不同的教程沒有運氣。我的聯繫表格不會工作

take a look here

我跟着this tutorial這次

這是代碼我HAV ON THE從第一LINK一模一樣! 聯繫表

<table width="400" border="0" align="center" cellpadding="0" cellspacing="1"> 
<tr> 
<td><form name="form1" method="post" action="send_contact.php"> 
<table width="100%" border="0" cellspacing="1" cellpadding="3"> 
<tr> 
<td width="16%">Subject</td> 
<td width="2%">:</td> 
<td width="82%"><input name="subject" type="text" id="subject" size="50"></td> 
</tr> 
<tr> 
<td>Detail</td> 
<td>:</td> 
<td><textarea name="detail" cols="50" rows="4" id="detail"></textarea></td> 
</tr> 
<tr> 
<td>Name</td> 
<td>:</td> 
<td><input name="name" type="text" id="name" size="50"></td> 
</tr> 
<tr> 
<td>Email</td> 
<td>:</td> 
<td><input name="customer_mail" type="text" id="customer_mail" size="50"></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
<td><input type="submit" name="Submit" value="Submit"> <input type="reset"  name="Submit2" value="Reset"></td> 
</tr> 
</table> 
</form> 
</td> 
</tr> 
</table> 

及PHP:

<?php 

// Contact subject 
$subject ="$subject"; 

// Details 
$message="$detail"; 


// Mail of sender 
$mail_from="$customer_mail"; 

// From 
$header="from: $name <$mail_from>"; 


// Enter your email address 
$to ='[email protected]'; 

$send_contact='mail($to,$subject,$message,$header)'; 


// Check, if message sent to your email 
// display message "We've recived your information" 
if($send_contact){ 
echo "We've recived your contact information"; 
} 
else { 
echo "ERROR"; 
} 
?> 

所有我想要的是一個簡單的接觸形式,類似下面:和正確的PHP,使其工作。在此先感謝

<form method="post" action="contactengine.php"> 
<label for="Name">Name:</label> 
<input type="text" name="Name" id="Name" /> 

<label for="City">City:</label> 
<input type="text" name="City" id="City" /> 

<label for="Email">Email:</label> 
<input type="text" name="Email" id="Email" /> 

<label for="Message">Message:</label><br /> 
<textarea name="Message" rows="20" cols="20" id="Message"></textarea> 

<input type="submit" name="submit" value="Submit" class="submit-button" /> 
</form> 
+0

您的PHP代碼在哪裏? –

+0

那麼問題是什麼? –

+0

除非您發佈您的PHP代碼,否則我們不可能爲您提供幫助,因爲我們無法看到您的HTML之外發生了什麼。 – nickhar

回答

3

如果您發佈的代碼是您所有的PHP代碼那麼問題是,你沒有捕捉$_POST數據。

$subject ="$subject"; 

應該是:

$subject = $_POST['subject']; 

等等...

ALSO

"$subject"被視爲字符串。如果$subject設置的其他地方使用$subject

+0

ok我試試這個....這是爲$ subject,$ message,$ mail_from和$ header嗎? – user1690197

+1

任何你想使用用戶提交的數據的地方。此外,請參閱@ nickhar的答案 –

+0

好吧謝謝................ – user1690197

1

除了第一個答案,從簡單的掃描,你也不執行mail命令,並把它變成一個字符串:

$send_contact='mail($to,$subject,$message,$header)'; 

來執行它:

mail($to,$subject,$message,$header); 
+0

謝謝你,這與什麼無情說的伎倆。 – user1690197

1

您沒有捕獲變量的值。您需要使用$_POST['nameAttribute']以PHP格式存儲表單輸入。

$subject ="$subject"; 

這個聲明不會做你期望的。如果你想從形式的主題,你必須添加一個新的<input>領域爲,然後使用以下方法來獲取用戶的輸入值:

$subject = $_POST['subject']; //assuming the name attribute was 'subject' 

而且,你的代碼來處理髮送的電子郵件也不正確。它是:

$send_contact='mail($to,$subject,$message,$header)'; 

你不需要用單引號將它包裝起來。它應該是:

$send_contact = mail($to,$subject,$message,$header); 

所以,最後將所有的變化之後,它看起來就像這樣:

<?php 

if(isset($_POST['submit'])) { //checking if form was submitted 
$subject = "Your subject"; //subject 
$city = $_POST['City']; 
$mail_from = $_POST['email']; 
$message= $_POST['Message']; 

// From 
$header="from: $name <$mail_from>"; 
$to ='[email protected]'; 

$send_contact = mail($to,$subject,$message,$header); //sending email 

if($send_contact) 
{ 
echo "We've recived your contact information"; 
} 
else 
{ 
echo "ERROR"; 
} 

} 
?> 

希望這有助於!