php - HTML/PHP 复选框不工作

标签 php html post checkbox

我有一个表格:

<form method="post" action="">
    <p><input type="text" name="login" value="<?php if(isset($login_username)){ echo $login_username; } ?>" placeholder="<?php echo $lang['login_1']; ?>"></p>
    <p><input type="password" name="password" value="" placeholder="<?php echo $lang['login_2']; ?>"></p>

    <div class="options" style="margin: 5;line-height: 1.4;">
        <a onclick="showRegister();"><?php echo $lang['login_4']; ?></a><br>
        <a onclick="lostPassword();"><?php echo $lang['login_5']; ?></a>
    </div>

    <p class="remember_me">
        <label>
            <input type="checkbox" id="remember" <?php if(isset($login_remember)){ if($login_remember == "on"){ echo " checked"; }} ?>><?php echo $lang['login_3']; ?></input>
        </label>
    </p>
    <input type="hidden" id="action" name="action" value="login"></input>
    <p class="submit">
       <input type="submit" value="<?php echo $lang['login_button']; ?>">
    </p>
</form>

当我按下提交按钮时,$_POST 返回:Array ( [login] => Username [password] => Password [action] => login )

但不是复选框,任何人都可以帮助我吗?

编辑: 我添加了:name="remember"但仍然无法正常工作。

最佳答案

复选框的问题是,复选框的 $_POST 值只有在复选框被选中时才会被设置。如果不是,则甚至不会发布该值。所以你必须在预期的 $_POST 变量上使用 isset() 。如果未设置,则不会选中该框。如果已设置,您可以评估该值。

关于php - HTML/PHP 复选框不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21893842/

相关文章:

php - 由于 CLOSE_WAIT 文件的数量,调用 3rd 方 API 导致 "Too many open files."错误

PHP MySQL插入忽略插入太多数据

php - Twitter - twemproxy - memcached - 重试未按预期工作

javascript - 停止 IE/Edge 窗口调整为 iframe 尺寸

javascript - 使用 Javascript 获取提交按钮的父表单

php - 如何使用 PHP 构建动态 MySQL INSERT 语句

java - python和php中提交html表单很简单,新手用java可以吗?

javascript - 如何使用 JavaScript 操作 HTML 元素

java - 为什么 Spring MVC 自动重试 POST 请求?

php - JavaScript 到 PHP - POST 编码问题