2015-11-20 166 views
0

我有一個網站。我想從我的客戶處獲得表格詳細信息... 我在準備一些代碼。該代碼適用於某些主機面板,但不適用於我的主機面板。 我認爲一些功能不支持我的託管。 我報告的託管服務提供商,但沒有很好的解決方案。 任何一個可以解決這個... 在此先感謝當用戶填寫我的表單時,我沒有收到確認郵件

我advertisement.html形式看起來像這樣

<form action="advertisement-form.php" method="post" class="comment-form row-fluid" data-validate="parsley"> 

          <p> 
           <label for="name" class="span2">Your Name</label> 
      <input type="text" class="span10" placeholder="Your Name" id="name" name="name" required > 
          </p> 

          <p> 
           <label for="email" class="span2">E-mail</label> 
      <input type="email" class="span10" placeholder="Your E-mail" id="email" name="email" required > 
          </p> 

           <p> 
           <label for="name" class="span2">Your Ad Title</label> 
      <input type="text" class="span10" placeholder="Ad Title" id="ad_title" name="ad_title" required > 
          </p> 

          <p> 
           <label for="site" class="span2">Target URL</label> 
           <input type="text" name="target_url" id="target_url" class="span10" data-type="url" required> 
          </p> 

          <p> 
           <label for="site" class="span2">Banner URL</label> 
           <input type="text" name="banner_url" id="banner_url" class="span10" data-type="url" required> 
          </p> 

          <p> 
           <label for="site" class="span2">Payment Email</label> 
           <input type="text" name="payment_email" id="payment_email" class="span10" data-type="url" required> 
          </p> 

          <p> 
           <label for="mess" class="span2">Message</label> 
           <textarea name="message" class="span10" data-trigger="keyup" data-rangelength="[20,1000]"></textarea> 
          </p> 
          <p> 
           <input type="submit" value="Continue" class="button button-load large-button offset2 span4"> 
          </p> 
         </form> 

和我的表單處理這樣看,與廣告-form.php的

命名
<?php 

if(isset($_POST['email'])) { 



// EDIT THE 2 LINES BELOW AS REQUIRED 

$email_to = "[email protected]"; 

$email_subject = "New Advertisement for Website"; 


// validation expected data exists 

if(!isset($_POST['name']) || 

    !isset($_POST['email']) || 

    !isset($_POST['ad_title']) || 

    !isset($_POST['target_url']) || 

    !isset($_POST['banner_url']) || 

    !isset($_POST['payment_email']) || 

    !isset($_POST['message'])) { 

    died('We are sorry, but there appears to be a problem with the form you submitted.');  

} 



$name = $_POST['name']; // required 



$email_from = $_POST['email']; // required 

$ad_title = $_POST['ad_title']; // required 

$target_url = $_POST['target_url']; // required 

$banner_url = $_POST['banner_url']; // required 

$payment_email = $_POST['payment_email']; // not required 

$message = $_POST['message']; // required 



$email_message = "Form details below.\n\n"; 



function clean_string($string) { 

    $bad = array("content-type","bcc:","to:","cc:","href"); 

    return str_replace($bad,"",$string); 

} 



$email_message .= "Name: ".clean_string($name)."\n"; 

$email_message .= "Email: ".clean_string($email_from)."\n"; 

$email_message .= "Ad Title: ".clean_string($ad_title)."\n"; 

$email_message .= "Target URL: ".clean_string($target_url)."\n"; 

$email_message .= "Banner URL: ".clean_string($banner_url)."\n"; 

$email_message .= "Payment Email: ".clean_string($payment_email)."\n"; 

$email_message .= "Message: ".clean_string($message)."\n"; 



// create email headers 

$headers = 'From: '.$email_from."\r\n". 

'Reply-To: '.$email_from."\r\n" . 

'X-Mailer: PHP/' . phpversion(); 

@mail($email_to, $email_subject, $email_message, $headers); 

?> 

當用戶填寫表單時,他得到了成功消息。但我沒有收到確認郵件。這個腳本工作一些託管面板,不在我的託管panel.can任何人解決這個...

再次謝謝你。

回答

0

我會建議這是一個嘗試,結束每一行\r\n並且還將添加到標頭(看起來多餘)。另外,在頭文件中聲明charset=utf-8應該足夠了。

$headers = "MIME-Version: 1.0\r\n"; 
    $headers .= "Content-type: text/html; charset=utf-8\r\n"; 
    // Additional headers 
    // This might look redundant but some services REALLY favor it being there. 
    $headers .= "To: $to_fullname <$to_email>\r\n"; 
    $headers .= "From: $from_fullname <$from_email>\r\n"; 

另外的功能是不diedied

+0

爲我解釋一次.. – divis

+0

看到鏈接。這包含有關PHP郵件功能的完整解釋:http://php.net/manual/en/function.mail.php – Suyog

+0

相同的代碼在另一個主機上工作...我不知道是什麼問題? – divis

0

1 - 變化

died('We are sorry, but there appears to be a problem with the form you submitted.');  

die('We are sorry, but there appears to be a problem with the form you submitted.'); 

2-刪除@郵件功能之前。在任何語句之前使用@會在出現任何錯誤時抑制錯誤。所以,如果你刪除這個..這將是很容易排除故障。 按照上述2個步驟重試。如果你看到任何錯誤,請將它們粘貼在這裏

相關問題