我正在使用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个或全部。有人可以帮助那会很棒。
答案 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>