2012-12-05 18 views
1

*** 編輯 ** * ***需要的PHP代碼複選框HTML表單

我有它的工作。現在我只是幫助一個簡單的小事情:我如何通過逗號分隔每個複選框選擇的電子郵件?

所以instaed的:

興趣每小時銷售機會B2B銷售

它應該閱讀:

興趣每小時銷售機會,B2B銷售

謝謝, Nathan


我剛剛簽署了在這個網站希望能得到一些幫助,讓我的形式與電子郵件發送的複選框的選擇。

我幾乎用PHP的東西一個小白,但使用lynda.com我得到了我的聯繫方式,至少工作 - 現在我只需要得到該複選框的選擇與電子郵件發送。

這裏是我的形式:

<form id="mainForm" method="post" name="contact" action="http://www.digicrest.com/sales/contactFormProcess.php"> 
         <ul> 
          <li>Name<span>*</span> <br/> 
           <input class="form2" name="name" type="text" /> 
          </li> 
          <li>Email Address<span>*</span> <br/> 
           <input class="form2" name="email" type="text" /> 
          </li> 
          <li>Subject<span>*</span> <br/> 
           <input class="form2" name="subject" type="text" /> 
          </li>        
          <li>Company<span>*</span> <br/> 
           <input class="form2" name="company" type="text" /> 
          </li> 
          <li>Phone Number <br/> 
           <input class="form2" name="phone" type="text" /> 
          </li>        
          <li id="checkboxes"> 
           I'm Interested In: 
           <br /> 
           <div><input type="checkbox" name="interested[]" value="Pay For Performance Appointment Setting" class="checkbox" id="option1" /> Pay For Performance Appointment Setting 
            <br /> 
            <input type="checkbox" name="interested[]" value="Hourly Sales Lead Generation" class="checkbox" id="option2" /> Hourly Sales Lead Generation 
            <br /> 
            <input type="checkbox" name="interested[]" value="B2B Sales" class="checkbox" id="option3" /> B2B Sales 
            <br /> 
            <input type="checkbox" name="interested[]" value="Inbound Lead Generation" class="checkbox" id="option4" /> Inbound Lead Generation 
           </div> 
          </li> 
          <li><span class="clearLeft"></span></li> 
          <div class="clearLeft"></div> 

          <li>Comments/Details<span>*</span> <br/> 
           <textarea class="form2B" cols="20" rows="6" name="message"></textarea> 
          </li>        
         </ul> 

         <div id="formButtons2"> 
          <input class="clear2" type="reset" value=""/> 
          <input class="submit" type="image" name="submit" src="images/send-big.jpg" alt="" /> 
         </div> 
        </form> 

-and這裏是我的PHP的

<?php 

/* Subject and Email Variables */ 

$emailSubject = $_POST['subject']; 
$webMaster = '[email protected]'; 
$email = $_POST['email']; 

/* Gathering Data Variables */ 
$nameField = $_POST['name']; 
$emailField = $_POST['email']; 
$subjectField = $_POST['subject']; 
$companyField = $_POST['company']; 
$phone = $_POST['phone']; 
$messageField = $_POST['message']; 
$interestedField = implode(' ', $_POST['interested']); 

$body = <<<EOD 
<br><hr><br> 
Name: $nameField <br> 
Email: $emailField <br> 
Subject: $subjectField <br> 
Company: $companyField <br> 
Phone: $phone <br> 
Interested In: $interestedField <br> 
Message: $messageField <br> 
EOD; 

$headers = "From: $email\r\n"; 
$headers .= "Content-type: text/html\r\n"; 
$success = mail($webMaster, $emailSubject, $body, $headers); 

/* Results Rendered as HTML */ 

$theResults = <<<EOD 
<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml"> 

    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>Welcome To Sales Source Lead Generation - B2B Solutions</title> 
     <link href="css/main.css" rel="stylesheet" type="text/css" /> 
     <link href='http://fonts.googleapis.com/css?family=Oswald:400,700' rel='stylesheet' type='text/css' /> 
     <link rel="stylesheet" href="css/basic-jquery-slider.css" /> 
    </head> 

    <body> 
     <!-- header --> 
     <div id="pageArea"> 
      <div id="headerArea"> 
       <div id="header"> 
        <div class="content"> 
         <a id="logo" href="index.html" title="Home"><img src="images/logo.jpg" width="198" height="102" alt=""/></a> 

         <div id="phone"> 
          Call us Toll Free: <span>1-888-557-4223</span> Ext 2 
         </div> 

         <div id="navbar"> 
          <div id="home"><a href="index.html" title="Home"></a></div> 
          <div> | </div> 
          <div id="about"><a href="about.html" title="About Us"></a></div> 
          <div> | </div> 
          <div id="services"><a href="services.html" title="Services"></a></div> 
          <div> | </div> 
          <div id="faq"><a href="faq.html" title="FAQ"></a></div> 
          <div> | </div> 
          <div id="rep"><a href="rep.html" title="Become a Rep"></a></div> 
          <div> | </div> 
          <div id="contact"><a href="contact.html" title="Contact Us"><img src="images/contact-current.jpg" width="87" height="16" alt="" /></a></div> 
         </div> 

         <div class="clearer"></div> 
        </div> 
       </div> 
      </div> 
      <div id="barArea2"> 
       <div class="content"> 
        <div id="light"><img src="images/light.png" width="787" height="493" alt="" /></div> 
        <h1 class="pageTitle">Message Sent!</h1> 
       </div>     
      </div> 

      <div id="hr"></div> 

      <div class="contentArea">     
       <div class="content"> 
        <div align="center">Thank you for your message! Your email will be answered as soon as possible! 
         <br /> 
         <br /> 
         <a href="index.html" title="Home">Click To Go Back!</a> 
        </div> 
       </div> 
      </div> 
      <div class="clearer"></div>   


     </div> 

    </body> 
</html> 

EOD; 
echo "$theResults"; 
?> 

我感謝所有幫助:)

感謝您的閱讀。

-Nathan

+0

哦,哈哈抱歉>< 我試圖讓複選框選擇顯示在電子郵件中。 – SYAWEDIS

+0

@SYAWEDIS:請注意,瀏覽器只會發送您*選擇*的複選框。它不會**發送你沒有選擇的那些,所以你甚至不會看到它們。 –

+0

@馬達拉 是的,這很好,我更喜歡它:) – SYAWEDIS

回答

0

在你的情況,你的複選框都被存儲在$_POST['interested']陣列上。所以,你需要將它們包括($interestedField)的內爆的形式。

如果你想要逗號,只需", "而不是" "

+0

BOOM!謝謝馬達拉。窗體現在工作很好! 現在我只需要尋找一些PHP,它會使php需要標記的字段實際上是「必需的」,並且當它們沒有被填寫或不正確地完成時給出錯誤。 – SYAWEDIS

+0

@SYAWEDIS:首先,您可以在form元素上添加required屬性,這會在現代瀏覽器(客戶端)中導致驗證檢查。對於PHP來說,就像檢查'empty($ _ POST [「required_field」])''一樣簡單。 –

+0

嗯,我不太明白。 我想我需要看看這一些。 – SYAWEDIS

0

假設一切工作:

/* Gathering Data Variables */ 
$nameField = $_POST['name']; 
$emailField = $_POST['email']; 
$subjectField = $_POST['subject']; 
$messageField = $_POST['message']; 
$choices = implode(", ", $_POST['interested']); 

$body = <<<EOD 
<br><hr><br> 
Name: $nameField <br> 
Subject: $subjectField <br> 
Email: $emailField <br> 
Message: $messageField <br> 
Choices: $choices 
EOD; 

注意,這只是給你的複選框的值(例如:1,2,3,4),而不是文本(例如:「支付性能約會設置「)。爲了得到這個,你需要把這些文本放在你的PHP的某個地方:

$labels = array("1"=>"Pay For Performance Appointment Setting", 
      "2"=>"Hourly Sales Lead Generation", 
      "3"=>"B2B Sales", 
      "4"=>"Inbound Lead Generation"); 

/* Gathering Data Variables */ 
$nameField = $_POST['name']; 
$emailField = $_POST['email']; 
$subjectField = $_POST['subject']; 
$messageField = $_POST['message']; 
$choices = array(); 
foreach($_POST['interested'] as $choice) { 
    $choices[] = $labels[$choice]; 
} 
$choices = implode(", ", $choices); 

$body = <<<EOD 
<br><hr><br> 
Name: $nameField <br> 
Subject: $subjectField <br> 
Email: $emailField <br> 
Message: $messageField <br> 
Choices: $choices 
EOD; 

希望這會有所幫助。

編輯:好的,你改變了你的帖子,而我回答,這樣的複選框的值包含這讓我的答案冗餘的第二部分的文字。如果您想將數據保存到數據庫中,最好的方法是使用數字值,並將描述存儲在其他位置。

+0

哦,有趣的我喜歡這個想法。 謝謝:) – SYAWEDIS