首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为用户存储复选框值和输出结果

为用户存储复选框值和输出结果
EN

Stack Overflow用户
提问于 2012-07-31 00:35:59
回答 3查看 1.3K关注 0票数 1

我有一个复选框,我希望它能控制一个变量结构,0表示不构造,1表示构造。并输出任何当前值,以便用户可以看到构造是否被检查。我意识到复选框不会发布“未选中”的值,并且我已经尝试了很多方法。我不确定我的逻辑在哪里有缺陷。

代码语言:javascript
复制
<input name="construction" type="checkbox" id="construction" onChange="this.form.submit();" <?php if ($row_config['construction'] == 1) { echo ' checked'; } else { echo ' unchecked'; } ?>>

<?php
if ($_POST) {
    // 0 = off
    // 1 = on
    $constr = (isset($_POST['construction']) && $_POST['construction'] == "on") ? 1 : 0; 
    mysql_query("UPDATE config SET construction = '$constr'") or die(mysql_error());
    redirect('index.php');
}
?>

我认为问题出在向用户输出数据方面。

修正了版本,谢谢大家!

代码语言:javascript
复制
<?php
require('framework/ui_framework.php');
page_protect();

$config = mysql_query("SELECT construction FROM config") or die(mysql_error());
$row_config = mysql_fetch_assoc($config);

$isChecked = false;
$constr = 0;
if(isset($_POST['construction'])){
    if($_POST['construction']) {
        $isChecked = true;
        $constr = 1;
        mysql_query("UPDATE config SET construction = '".$constr."'") or die(mysql_error());
    }
} else {
    $isChecked = false;
    $constr = 0;
    mysql_query("UPDATE config SET construction = '".$constr."'") or die(mysql_error());
}
?>

<input name="construction" type="checkbox" id="construction" onChange="this.form.submit();" <?php if($isChecked) echo "checked='checked'"; ?> value="on">
EN

Stack Overflow用户

回答已采纳

发布于 2012-07-31 01:17:08

尝尝这个

并且您必须使用isset($varname)检查变量

代码语言:javascript
复制
<?php
  $isChecked = false;
  $constr = 0;
  if(isset($_POST['construction'])){
    if($_POST['construction'] == 'on'){
      $isChecked = true;
      $constr = 1;
    }      
    mysql_query("UPDATE config SET contruction = '$constr'") or die(mysql_error());

  }

?>

<!doctype html>

<html>
  <head>

  </head>

  <body>
    <form action='test3.php' method='POST'>
      <input name="construction" type="checkbox" id="construction" onChange="this.form.submit()" <?php if($isChecked) echo "checked='checked'"; ?> />
      <?php

      ?>
    </form>     
  </body>
</html>
票数 1
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11725745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档