我創建了一個通過PHP郵件發送的HTML表單。一切都很好,但我想簡化它,以便在發送的電子郵件中只顯示實際選擇的下拉菜單。現在,它的設置使得每個下拉菜單都顯示在電子郵件中,即使用戶選擇了0。我已經有很多下拉菜單了,還有一些需要添加的內容,這樣電子郵件會很快變得雜亂無章。如果在PHP郵件中選中,只顯示下拉菜單內容
從邏輯上講,一個簡單的if語句應該可以完成這項工作,但我不確定該怎麼做,因爲我只有一行$email_body=""
向電子郵件發送內容,並且我不能在if/else語句中插入if那裏。我研究了三元運算符,但我的PHP知識是有限的,我無法實現它的工作。謝謝!
HTML(簡體只是爲了得到一個想法)
<form>
<div class="tab-content clearfix">
<div class="tab-pane active" id="carpet-cleaning">
<h3 class="options-text">Carpet Cleaning Options</h3>
<!--how many bedrooms-->
<label class="control-label" for="carpet_cleaning">Bedrooms</label><br>
<select class="form-control-1" id="carpet_cleaning" name ="bedrooms_selection">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<!--how many dining rooms-->
<br><label class="control-label" for="dining_rooms">Dining Rooms</label><br>
<select class="form-control-1" id="dining_rooms" name="dining_selection">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<!--how many family rooms-->
<br><label class="control-label" for="family_rooms">Family Rooms</label><br>
<select class="form-control-1" id="family_rooms" name="family_room_selection">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
</div>
</form>
PHP
<?php
$bedrooms = $_POST['bedrooms_selection'];
$diningRooms = $_POST['dining_selection'];
$familyRooms = $_POST['family_room_selection'];
$email_subject = "Price Quote";
$email_body="Carpet Services Needed: \n Bedrooms: $bedrooms \n Dining Rooms: $diningRooms \n Family Rooms: $familyRooms";
$to = "[email protected]";
$headers = "From: $email";
mail($to, $email_subject, $email_body, $headers);
header("Location: http://example.com");
?>
因此簡化,如果用戶在下拉菜單中選擇0,我不希望它顯示在正在發送的電子郵件中。不能用只有一個不允許if/else語句的字符串來解決這個問題。
旁註比較:從技術上講,你的POST數組將失敗。 –
你能詳細說一下嗎?它現在正在工作,但我想知道你的意思。我對PHP很新,所以解釋會很有幫助。 – Coltvant
沒關係,沒關係。你的*「(簡單來得到一個想法)」*似乎意味着該方法被遺漏了。 –