0

次のチェックボックスを PHP メールフォームにフィードしようとしています。

<div id="product_information_container">
    <h1 id="product_information_subtitle"><a data-tooltip="Click to hide/display the content below." href="#"><img class="information_icons" src="images/information_icon.png"></a>What can we help you with?</h1>
    <div class="product_information">
        <div class="product_information_containers" id="product_information_attic_barrier">
            <input id="product_information_checkbox_attic_barrier" name="product_information[]" type="checkbox" value="attic_barrier" />
            <span class="product_options">Attic Barrier</span>
        </div>
    </div>
    <div class="product_information">
        <div class="product_information_containers" id="product_information_doors">
            <input id="product_information_checkbox_doors" name="product_information[]" type="checkbox" value="entry_system_door" />
            <span class="product_options">Entry System Door</span>
        </div>
    </div>
    <div class="product_information">
        <div class="product_information_containers" id="product_information_eavestrough_cover">
            <input id="product_information_checkbox_eavestrough_cover" name="product_information[]" type="checkbox" value="eavestrough_cover" />
            <span class="product_options">Eavestrough Cover</span>
        </div>
    </div>
    <div class="product_information">
        <div class="product_information_containers" id="product_information_windows">
            <input id="product_information_checkbox_windows" name="product_information[]" type="checkbox" value="windows" />
            <span class="product_options">Windows</span>
        </div>
    </div>
    <div class="product_information" id="window_options">
        <div id="windows_options_one">
            <div class="product_information_windows_containers" id="product_information_windows_baybow">
                <input id="windows_baybow_checkbox" name="product_information[]" type="checkbox" value="windows" />
                <span class="product_options">Bay/Bow</span>
            </div>
            <div class="product_information_windows_containers" id="product_information_windows_casement">
                <input id="windows_casement_checkbox" name="product_information[]" type="checkbox" value="windows" />
                <span class="product_options">Casement</span>
            </div>
        </div>
        <div id="windows_options_two">
            <div class="product_information_windows_containers" id="product_information_windows_doublehung">
                <input id="windows_doublehung_checkbox" name="product_information[]" type="checkbox" value="windows" />
                <span class="product_options">Double-Hung</span>
            </div>
            <div class="product_information_windows_containers" id="product_information_windows_sliding">
                <input id="windows_sliding_checkbox" name="product_information[]" type="checkbox" value="windows" />
                <span class="product_options">Sliding</span>
            </div>
        </div>
    </div>
</div>

次に、入力された情報を取得し、どの情報が関連しているかを通知します。基本的に、「product_information」内で選択されたすべての製品は、チェックされている場合は通過する必要があります。ただし、現在のコードでは、チェックボックスのグループで選択された最後の値のみを受け取ります。

ここに私のPHPコードがあります:

<?php  
if(isset($_POST)){
    $ip_address = $_SERVER['REMOTE_ADDR'];
    $date = date('d/m/Y');
    $time = date('H:i:s');

    $first_name = $_POST['first_name'];
    $spouse_name = $_POST['spouse_name'];
    $last_name = $_POST['last_name'];
    $street_number = $_POST['street_number'];
    $street_name = $_POST['street_name'];
    $street_type = $_POST['street_type'];
    $city = $_POST['city'];
    $postal_code = $_POST['postal_code'];
    $phone_number = $_POST['phone_number'];
    $alternate_phone_number = $_POST['alternate_phone_number'];
    $email_address = $_POST['email_address'];
    $contact_time = $_POST['contact_time'];
    $product_information = $_POST['product_information'];

    $headers = "From: from_email@lol.com" . "\r\n";  
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";  

    $emailbody = "<p>You have received a message!</p> 
                  <strong>Name: </strong>{$first_name} {$last_name}, <strong>Spouse's Name: </strong>{$spouse_name}<br />
                  <strong>Address: </strong>{$street_number} {$street_name} {$street_type}, {$city}, ON {$postal_code}<br />
                  <strong>Phone Number: </strong> {$phone_number}, <strong>Alt. Phone Number: </strong> {$alternate_phone_number}<br />
                  <strong>Email Address: </strong> {$email_address}</p>
                  <p>Please contact {$first_name} during the {$contact_time} about {$product_information}.<br
                  <p>This message was sent from the IP Address: {$ip_address} on {$date} at {$time}.</p>";  

    mail('to_email@lol.com','Title',$emailbody,$headers);
}
?>
4

2 に答える 2

1

$_POST['product_information']は配列です。すべての値を区切り文字で連結するための便利なimplode関数が見つかるかもしれません。

product_information = implode($_POST['product_information'], ',');
于 2012-08-14T05:54:18.193 に答える
0

各チェックボックスには独自の値が必要ですがWindowsBay/BowCasementDouble-HungSlidingそれらはすべてvalue="windows"であるため、すべてがチェックされている場合は配列を取得します

Array ( [product_information] => Array ( [0] => windows
                                         [1] => windows
                                         [2] => windows
                                         [3] => windows
                                         [4] => windows ) )`

次のようなものに変更します-

<div class="product_information">
    <div class="product_information_containers" id="product_information_windows">
        <input id="product_information_checkbox_windows" name="product_information[]" type="checkbox" value="windows" />
        <span class="product_options">Windows</span>
    </div>
</div>
<div class="product_information" id="window_options">
    <div id="windows_options_one">
        <div class="product_information_windows_containers" id="product_information_windows_baybow">
            <input id="windows_baybow_checkbox" name="product_information[]" type="checkbox" value="baybow" />
            <span class="product_options">Bay/Bow</span>
        </div>
        <div class="product_information_windows_containers" id="product_information_windows_casement">
            <input id="windows_casement_checkbox" name="product_information[]" type="checkbox" value="casement" />
            <span class="product_options">Casement</span>
        </div>
    </div>
    <div id="windows_options_two">
        <div class="product_information_windows_containers" id="product_information_windows_doublehung">
            <input id="windows_doublehung_checkbox" name="product_information[]" type="checkbox" value="doublehung" />
            <span class="product_options">Double-Hung</span>
        </div>
        <div class="product_information_windows_containers" id="product_information_windows_sliding">
            <input id="windows_sliding_checkbox" name="product_information[]" type="checkbox" value="sliding" />
            <span class="product_options">Sliding</span>
        </div>
    </div>
</div>

これで、適切な配列が得られます

Array ( [product_information] => Array ( [0] => windows 
                                         [1] => baybow 
                                         [2] => casement 
                                         [3] => doublehung 
                                         [4] => sliding ))
于 2012-08-14T06:05:50.620 に答える