2011-12-10 62 views
0

我正在一個Wordpress主題中有一個Jquery動畫聯繫人窗體。我有js的工作(一個div顯示/隱藏在點擊,其中的形式)。這是一個靜態的HTML/PHP example(點擊'聯繫'按鈕)。你說什麼問題?問題是實際的表單不能發送。我有一個php文件'contact engine.php',它發送一個名爲'php'的文件夾到我的模板目錄中。在HTML我有:鏈接到自定義WordPress主題中的自定義.php文件

<form method="post" action="<?php bloginfo('template_directory'); ?>/php/contactengine.php"> 
      <label for="Name">Name:</label> 
      <input type="text" name="Name" id="Name" /> 
      <label for="Email">Email:</label> 
      <input type="text" name="Email" id="Email" /> 
      <label id="bericht" for="Message">Message:</label><br /> 
      <textarea name="Message" rows="10" cols="20" id="Message"></textarea> 
      <input type="submit" name="submit" value="Submit" class="submit-button" /> 
</form> 

有點擺弄我已經縮小問題到實際的鏈接到PHP文件後。 Wordpress不會將輸入發送到php文件,並且沒有任何結果。在Google的一些會議結束後,我發現大多數人使用插件來實現這一點,我並不喜歡它。此外,似乎Wordpress不會讓你編寫自己的PHP代碼片段來實現主題。我還發現了一些建議我應該將php代碼片段放在每個模板附帶的functions.php文件中,但我不知道如何鏈接到functions.php中的特定php片段。任何人都知道如何解決此問題?提前致謝!

P.S. PHP腳本是這樣的:

<?php 

$EmailFrom = "[email protected]"; 
$EmailTo = "[email protected]"; 
$Subject = "Contactformulier StefanHagen.nl"; 
$Name = Trim(stripslashes($_POST['Name'])); 
$Tel = Trim(stripslashes($_POST['Tel'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Message = Trim(stripslashes($_POST['Message'])); 

// validation 
$validationOK=true; 
if (!$validationOK) { 
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
exit; 
} 

// prepare email body text 
$Body = ""; 
$Body .= "Name: "; 
$Body .= $Name; 
$Body .= "\n"; 
// $Body .= "Tel: "; 
// $Body .= $Tel; 
// $Body .= "\n"; 
$Body .= "Email: "; 
$Body .= $Email; 
$Body .= "\n"; 
$Body .= "Message: "; 
$Body .= $Message; 
$Body .= "\n"; 

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); 

// redirect to success page 
if ($success){ 
print "<meta http-equiv=\"refresh\" content=\"0;URL=../index.html\">"; 
} 
else{ 
print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
} 
?> 
+0

什麼是你的表單按鈕的JavaScript? –

+0

表單不使用JavaScript,只有持有它的div使用jquery來顯示/隱藏。該表單只是一個普通的html表單,帶有一個發送它的.php文件。 –

+0

對不起,也許我誤解了你。按鈕本身使用CSS3轉換有點動畫。 –

回答

1

我知道,當你提交在WordPress的表單您的代碼將無法正常工作,因爲WordPress的過濾所有的POST變量。當你使用你自己的腳本不應該發生。那麼你的contactengine.php腳本是怎麼樣的。你使用包含WordPress的嗎?如果是的話,你可以處理WordPress腳本。

我在您的網站上看到的是 <?php bloginfo('template_directory'); ?> 不顯示。它也更好地使用 <?php echo get_template_directory_uri(); ?>

在使用插件的情況下,我也是這樣做的。易於更改後端的表單,但這可能是一個負面因素,因爲客戶可以更改它。

+0

Thanx以提示馬爾科!早上我會再多一點。我在原始問題 –

+0

中添加了.php文件此外,我在本地工作(http:// localhost:8888/...),我不知道這是否會影響任何內容? –

+0

我有一個插件,我定製的骨頭;)ContactForm7 ...唯一的問題是,郵件在我的垃圾郵件垃圾郵件箱,所以我必須找出解決辦法。 –