2014-06-10 110 views
-1

我有一個插件在我的wordpress網站上,它允許自定義PHP。 我創建了一個EMail表單,但是當涉及到發送時,它的錯誤。 當我發送表單完全空,它的工作原理,但只要我填寫1個字段,它給了我一個404錯誤...我試了POST和GET,但都是相同的結果。 這是我的代碼:(請不要介意,荷蘭文XD)WordPress的PHP POST/GET方法

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

$ip = $_SERVER['REMOTE_ADDR']; 

$issent = $_POST['issent']; 

if(!$name) {$errorcount++; $error['name'] = "<text style='color:red;'>Voer je naam in A.U.B.</text><br>";} 
if(!$email) {$errorcount++; $error['email'] = "<text style='color:red;'>Voer een E-Mail in A.U.B.</text><br>";} 
if(!$age)  {$errorcount++; $error['age']  = "<text style='color:red;'>Voer je leeftijd in A.U.B.</text><br>";} 
if(!$subject) {$errorcount++; $error['subject'] = "<text style='color:red;'>Voer een onderwerp in A.U.B.</text><br>";} 
if(!$message) {$errorcount++; $error['message'] = "<text style='color:red;'>Voer een bericht in A.U.B.</text><br>";} 

if($errorcount > 0 || !isset($issent)){ 
//Error display 
if(isset($issent)){ 
    echo $error['name']; 
    echo $error['email']; 
    echo $error['age']; 
    echo $error['subject']; 
    echo $error['message']; 
} 

?> 

<form method="POST" action=""> 
<label>Naam: </label><input type="text" name="name" value="<?php echo$name; ?>"><br> 
<label>E-Mail: </label><input type="email" name="email" value="<?php echo$email; ?>"><br> 
<label>Leeftijd: </label><input type="text" name="age" value="<?php echo$age; ?>"><br> 
<label>Onderwerp: </label><input type="text" name="subject" value="<?php echo$subject; ?>"><br> 
<label>Bericht: </label><br> 
<textarea rows="15" cols="40" name="message"><?php echo$message; ?></textarea><br> 
<input type="hidden" value="1" name="issent"> 
<input type="submit"> 
</form> 

<?php 
} else { 
$to  = "Myemail"; 
$headers = 'From: [email protected]' . "\r\n"; 
$headers .= 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'Return-Path: Myemail' . "\r\n"; 
$headers .= 'Reply-To: ' . $email . "\r\n"; 
$headers .= 'X-Mailer: PHP/' . phpversion();; 

$finalmsg = "<h1>".$subject."</h1><br><br>"; 
$finalmsg .= "Naam:  ".$name."<br>"; 
$finalmsg .= "E-Mail: ".$email."<br>"; 
$finalmsg .= "Leeftijd: ".$age."<br>"; 
$finalmsg .= "Onderwerp: ".$subject."<br>"; 
$finalmsg .= "IP: ".$ip."<br>"; 

$finalmsg .= "Bericht: <br>".$message."<br>"; 


mail($to,"JKC Mail Form: ".$subject,$finalmsg,$headers); 
echo "E-Mail verstuurd! <br>Wij nemen Z.S.M. contact met u op!"; 
} 

我似乎沒有得到它的工作... 有人可以幫我,我已經一派閃人,但我沒有能夠修復它。

+0

WordPress的寄存器,捕獲和行爲。您的字段名稱很常見,可能會與其中的一個或多個相沖突。我會用一些獨特的名稱空間爲所有變量加前綴,例如:'$ _POST ['so24138113_name'']' – cpilko

回答

1

你還沒有定義和初始化$errorcount

$errorcount = 0; 

檢查,沒有工作

實際發行與表單的第一個字段的「名」,即「名稱:

就在你的代碼的起點添加以下代碼」。

你不能在wordpress中使用「name」作爲「name」鍵的值。 WordPress的內部用於不同的目的。

將「name」鍵的值更改爲別的,它會正常工作。

此問題也出現在u使用下列任一值的「姓名」後一些`$ _POST`或`$ _GET`變量關鍵

name,date, year, month, day, hour, minute 
+0

謝謝,但沒有工作,仍然是一樣的。見本頁:http://jkctech.nl/contact/ – user3186204

+0

哇感謝人!這真的幫助我!,我不能upvote,但我標記爲答案! – user3186204

+0

好,沒有問題:)。很高興它解決了。 –

0

而不是插件的PHP標籤,你不能使用這個模板。將此代碼添加到該模板並將該模板分配到此頁面。

+0

我該怎麼做,我相當一個WordPress的noob,也請大家,請不要downvote,這只是唯一的選擇我已經離開 – user3186204