嗨,大家好我刚接触php,我正在制作一个人们在线预订的提交表格。
我的表单工作正常,但我想添加额外的复选框,然后在发送给用户和我自己的确认电子邮件中注明这些额外内容。
<tr>
<td height="10" align="right" class="align_right">Deodoriser: </td>
<td>
<input type="text" name="deodoriser" id="deodoriser" value="<?php echo $deodoriser?>" onchange="checkFieldBack(this)"/>
</td>
</tr>
<tr>
<td height="30" align="right" class="align_right">Carpet Protector (5 litre): </td>
<td>
<input type="text" name="carpet" id="carpet" value="<?php echo $carpet?>" onchange="checkFieldBack(this)"/>
</td>
</tr>
<tr>
<td height="30" align="right" class="align_right">Carpet Repair Tools: </td>
<td>
<input type="text" name="carpetrepair" id="carpetrepair" value="<?php echo $carpetrepair?>" onchange="checkFieldBack(this)"/>
</td>
</tr>
<tr>
<td height="30" align="right" class="align_right">Furniture Moving Equipment: </td>
<td>
<input type="text" name="furniture" id="furniture" value="<?php echo $furniture?>" onchange="checkFieldBack(this)"/>
</td>
</tr>
<tr>
<td height="30" align="right" class="align_right">Furniture Tabs: </td>
<td>
<input type="text" name="tabs" id="tabs" value="<?php echo $tabs?>" onchange="checkFieldBack(this)"/>
</td>
</tr>
<tr>
<td height="30" align="right" class="align_right">Urine Decontamination Treatment: </td>
<td>
<input type="text" name="urine" id="urine" value="<?php echo $urine?>" onchange="checkFieldBack(this)"/>
</td>
</tr>
我想制作这些复选框而不是文本。 这些是变量
$deodoriser = (!empty($_REQUEST["deodoriser"]))?strip_tags(str_replace("'","`",$_REQUEST["deodoriser"])):'';
$carpet = (!empty($_REQUEST["carpet"]))?strip_tags(str_replace("'","`",$_REQUEST["carpet"])):'';
$carpetrepair = (!empty($_REQUEST["carpetrepair"]))?strip_tags(str_replace("'","`",$_REQUEST["carpetrepair"])):'';
$furniture = (!empty($_REQUEST["furniture"]))?strip_tags(str_replace("'","`",$_REQUEST["furniture"])):'';
$tabs = (!empty($_REQUEST["tabs"]))?strip_tags(str_replace("'","`",$_REQUEST["tabs"])):'';
$urine = (!empty($_REQUEST["urine"]))?strip_tags(str_replace("'","`",$_REQUEST["urine"])):'';
这是确认电子邮件
$message .="Name: ".$name;
$message .="<br />Email: ".$email;
$message .="<br />Phone: ".$phone;
$message .="<br />Quantity: ".$qty;
$message .="<br />Address: ".$comments;
$message .="<br />Drop off Time: ".$dropoff;
$message .="<br />Machine: ".$eventInf[0].;
$message .="<br />Deodoriser: ".$deodoriser;
$message .="<br />Carpet Protector: ".$carpet;
$message .="<br />Carpet Repair Tools: ".$carpetrepair;
$message .="<br />Furniture Moving Equipment: ".$furniture;
$message .="<br />Furniture Tabs: ".$tabs;
$message .="<br />Urine Decontamination Treatment: ".$urine;
$message .="<br />Booking date: ".$eventInf[2]."<br />";
$message .="<br />Reservation Status: Not Confirmed<br />";
$message .="<br /><br />Kind Regards, <br /> ".$_SERVER['HTTP_HOST']." Website";
感谢您提供的任何帮助/建议,我已经在这里查看了所有类似的问题,并尝试了几天才能让它正常运行而且无法做到。
答案 0 :(得分:1)
您可以在HTML表单中创建它们作为输入类型复选框。所有复选框都应该具有相同的名称,末尾用方括号表示PHP数组:
<input type="checkbox" name="options[]" value="value"/>
当您提交表单时,所有选中复选框的值将以您提供的名称在GET或POST超全局数组中作为数组提供,因此您可以像这样循环:
$options = $_GET['options'];
foreach ($options as $option) {
// $option will now hold the "value" of the checkbox being processed
}
答案 1 :(得分:1)
您可以使用复选框并将值存储在数组中:
<input type="checkbox" name="extras[]" value="Deodoriser" />
<input type="checkbox" name="extras[]" value="Carpet" />
<input type="checkbox" name="extras[]" value="Furniture" />
然后遍历$ _POST ['extras']数组以输出值
foreach($_POST['extras'] as $extra)
{
$message .="<br />Extra: ".$extra;
}
答案 2 :(得分:0)
将输入类型设置为“复选框”。
答案 3 :(得分:0)
而不是你的strip_tags(str_replace())
只需输入字符串即可。 e.g
$deodoriser = !empty($_REQUEST["deodoriser"]) ? 'Deodoriser' : '';
在html中设置type="checkbox"
。
而不是value=
,如果您需要预先检查,则需要在HTML中为每个人设置checked="checked"
。