【问题标题】:PHP code for checkboxes for an HTML email formHTML 电子邮件表单复选框的 PHP 代码
【发布时间】:2013-08-04 23:42:59
【问题描述】:

我正在使用 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 个或全部。有人可以帮忙吗,那太棒了。

【问题讨论】:

  • 你想达到什么目的?
  • 我希望获得与教程链接中显示的文本和选择字段相同的结果。由于此表单适用于选择和文本字段,因此我现在有一个客户端需要在其表单中添加复选框。
  • 我的意思是,您希望三元运算“做什么”。
  • 因为它似乎与这种情况有点无关,即使使用下面的提供 URL,我也不完全理解你在说什么(我是 PHP 新手)我要去留下这个三元代码(真/假)

标签: php html forms email checkbox


【解决方案1】:

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

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

您缺少? 部分并且永远不要关闭括号。这将导致语法错误。

【讨论】:

    【解决方案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'
    

    【讨论】:

    • 这还能让表单工作吗?即在教程中,它显示表单应该验证并显示绿色检查消息或红色 X 消息,请参阅上面的教程以供参考。感谢观看
    • 太棒了我不明白这是做什么三元运算更详细://像问php一个问题(TRUE)? '这是真的' : '这是假的'; --> 'this is true' 分解为常规 if/else 语句: if(TRUE) { echo 'this is true'; } else { echo '这是假的'; }
    • 它什么也没做,只是ternary operation 的一个例子,因为你似乎没有完全理解它是什么。不,这不应该影响任何现有的功能。
    • 所以不需要包含?
    • 另外,如果我有多个带有颜色名称/ID 的复选框,并且有些选择了多个选项,这两个选项都会显示在收件人电子邮件中吗?
    【解决方案3】:

    这些行也有问题....

    <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>
    

    【讨论】:

    • 修正是什么?在本教程中请注意,这是为了帮助告知填写表格的人该表格是有效还是无效,您的以下更正以及这两行的更正是否仍然有效?
    猜你喜欢
    • 2015-11-09
    • 2011-08-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多