【问题标题】:PHP If Checkbox Checked, Then (WordPress)PHP 如果复选框被选中,那么 (WordPress)
【发布时间】:2015-03-21 06:23:28
【问题描述】:

简介

我的 WordPress 个人资料区域中有一些自定义字段。这是我的代码中的复选框示例:

<input type="checkbox" name="A" id="A" value="yes" <?php if (esc_attr( get_the_author_meta( "A", $user->ID )) == "yes") echo "checked"; ?> /><label for="my_field "><?php _e("Order Button"); ?></label><br />

这个字段是A,我将它保存在同一个文件中:

update_usermeta( $user_id, 'A', $_POST['A'] );

这是有效的,当用户打开或关闭它时,它会保存。

问题

但是,如果选中该复选框,我在发布结果时会遇到很大问题。

在另一个文件中我有这个:

if(isset($_POST['A'])) {
echo 'asd';
} else { }

我尝试了很多变体,但我不知道如何获取 If 语句来检查用户是否选中了该框,它只回显else

TL;DR:

我不知道如何检查用户元是否被检查,以及如何将其输出到网站的另一个元素中。

http://pastebin.com/Q3WSv47m 链接到用户配置文件代码

http://pastebin.com/spU2dqGk 链接到我试图调用复选框的标题区域。

【问题讨论】:

    标签: php wordpress checkbox


    【解决方案1】:

    您必须检查检查的变量值。试试这个:

    if (isset($_POST['A']) && $_POST['A'] == 'yes')
    {
      echo 'A is checked';
    }
    else
    {
      echo 'Something else is checked.';
    }
    

    注意:确保您的表单方法是 POST。

    【讨论】:

    • 谢谢,@train_fox &lt;form action="checkbox-form.php" method="post"&gt; 是我的表单方法,应该没问题。但是,代码正在回显echo 'Something else is checked.';。有任何想法吗?请注意:我检查复选框的代码在不同的文件中,这会影响结果吗?
    • 对不起,我的if语句错误,你的值是yes no A.请尝试新的。
    • 我知道你在那里做了什么。我不知道为什么,但它仍然显示else 回声。 Picture of Issue
    • 尝试 var_dump($_POST);在使用 post 变量之前,看看它包含什么。
    • array(0) { }else 返回的内容
    猜你喜欢
    • 1970-01-01
    • 2011-01-16
    • 2016-03-04
    • 2017-03-27
    • 2016-01-21
    • 2013-03-20
    • 2017-07-27
    • 2011-09-19
    • 1970-01-01
    相关资源
    最近更新 更多