PHP联系表单:如何让复选框选中显示Positive,未选中显示Negative
复选框表单提交后自定义显示文本的问题
我正在制作一个简单的联系表单,但对复选框的工作原理存在疑惑,遇到如下问题:
HTML代码:
<input name="selection" type="checkbox">
PHP代码:
$selection = $_POST['selection']; $mail->Body = " Answer is ".$_POST["selection"]." ";
当勾选复选框并提交表单后,邮件中会显示“Answer is on”。请问如何通过简单方式实现:勾选时显示“Answer is Positive”,未勾选时显示“Answer is Negative”?
解决方法
复选框只有在被勾选时才会把值传递到后端,未勾选时$_POST['selection']不会存在。你可以通过检查这个变量是否存在来判断状态,再设置对应的文本:
方法一:直接判断变量是否存在
修改后的PHP代码:
$answer = isset($_POST['selection']) ? 'Positive' : 'Negative'; $mail->Body = " Answer is ".$answer." ";
方法二:给复选框设置自定义value(更直观)
先修改HTML的复选框,添加value属性:
<input name="selection" type="checkbox" value="positive">
再调整PHP代码,判断传递的值:
$answer = isset($_POST['selection']) && $_POST['selection'] === 'positive' ? 'Positive' : 'Negative'; $mail->Body = " Answer is ".$answer." ";
内容的提问来源于stack exchange,提问作者tez
相关产品推荐
相关产品推荐

