用于HTML电子邮件表单复选框的PHP代码

时间:2013-08-03 23:30:47

标签: php html forms email checkbox

我正在使用HTML / PHP电子邮件表单的教程,它会进行验证,不会显示文本字段和选择字段,但它不会显示复选框。

以下是教程http://net.tutsplus.com/tutorials/html-css-techniques/build-a-neat-html5-powered-contact-form/

的网址

文本字段代码如下所示

<input type="text" id="phone" name="phone" value="<?php echo ($sr && !$cf['form_ok']) ? $cf['posted_form_data']['phone'] : '' ?>" placeholder="555-555-5555" />

选择看起来像这样

<option value="Select a size" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['size'] == 'Select a size') ? "selected='selected'" : '' ?>>Select a size</option>

我正在尝试弄清楚如何在使用复选框时使上述内容成为正确的语法。 这是我的尝试

<input type="checkbox" id="color" name="color" value="<?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['red'] : '' ?>" />

这是不正确的语法。请注意,我将有多个复选框,可能需要在收件人电子邮件中显示1个或全部。有人可以帮助那会很棒。

3 个答案:

答案 0 :(得分:2)

如果我是正确的,你试图设置检查状态。您在value属性中执行此操作,这是不正确的。假设这是颜色red的复选框,则应该是这样的语法:

<input type="checkbox" 
       id="color" 
       name="color" 
       value="red"
       <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['red']) 
                  ? 'checked="checked"'
                  : ''; ?> 
       />

三元操作的一个例子:

// Like asking php a question
(TRUE) ? 'this is true' : 'this is false';
--> 'this is true'

分解为常规的if / else语句:

if(TRUE)
{
    echo 'this is true';
}
else
{
    echo 'this is false';
}
--> 'this is true'

答案 1 :(得分:0)

您的三元运算符语法对于复选框不正确:

($sr && !$cf['form_ok'] && $cf['posted_form_data']['red'] : ''

您错过了?部分,从不关闭括号。这将导致语法错误。

答案 2 :(得分:0)

这些线路也有问题......

<input type="text" id="phone" name="phone" value="<?php echo ($sr && !$cf['form_ok'] ? $cf['posted_form_data']['phone'] : '');?>" placeholder="555-555-5555" />
<option value="Select a size" <?php echo ($sr && !$cf['form_ok'] && $cf['posted_form_data']['size'] == 'Select a size' ? "selected='selected'" : '');?>>Select a size</option>