【发布时间】:2017-09-11 02:17:18
【问题描述】:
我创建了一个通过 PHP 邮件发送的 HTML 表单。一切都很好,但我想简化它,以便在发送的电子邮件中,只显示具有实际选择的下拉菜单。现在它的设置是这样的,即使用户选择了 0,每个下拉菜单都会显示在电子邮件中。我已经有很多下拉菜单,还有更多要添加,所以电子邮件很快就会变得非常混乱。
从逻辑上讲,一个简单的 if 语句应该可以完成这项工作,但我不确定该怎么做,因为我只有一行 $email_body="" 可以将内容发送到电子邮件,而且我无法插入 if/else 语句在那里。我研究了三元运算符,但我的 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 = "jon@example.com";
$headers = "From: $email";
mail($to, $email_subject, $email_body, $headers);
header("Location: http://example.com");
?>
所以为了简化,如果用户在下拉菜单中选择 0,我不希望它显示在正在发送的电子邮件中。仅使用一个不允许使用 if/else 语句的字符串无法解决此问题。
【问题讨论】:
-
旁注:技术上;您的 POST 数组将失败。
-
你能详细说明一下吗?它现在正在工作,但我想知道你的意思。我对 PHP 很陌生,所以解释一下会很有帮助。
-
没关系,没关系。你的 "(simplified just to get an idea)" 似乎意味着该方法被遗漏了。
-
哦,是的,没错。不过感谢您的关注!
标签: php html email drop-down-menu ternary-operator