日期:2014-05-17  浏览次数:20483 次

php 多选按钮取值或者去值
做一个php权限管理,要用多选按钮来做,比如:管理员要给一个普通的用户一个权限,就是给他可以看到什么或者可以在那个地方发表言论,这种应该怎么写代码?谢谢!

------解决方案--------------------
基础代码
$dict = array();
if($_SERVER['REQUEST_METHOD'] == "POST") {
  echo array_sum($_POST['r']);
  $dict = $_POST['r'];
}
echo '<form method=post>';
$right = array('读', '写', '修改', '删除');
$a = 1;
foreach($right as $k=>$v) {
  $t = $a << $k;
  $c = in_array($t, $dict) ? 'checked' : '';
  echo "<input type=checkbox name=r[] value=$t $c><br>";
}
echo '<input type=submit value=ok>';
echo '</form>';

------解决方案--------------------
基础代码已经给你了,

这时候你就要发挥你的思维,从理论到实际去实现

例如你每个管理权限给他  

客户管理、合同管理、财务管理、工作单管理、基础管理
01110
0代表有权限控制
1代码无权限控制

写入数据库,然后读取的时候做比较。给出相应可执行权限。

------解决方案--------------------
你判断checkbox的 checked 属性不就行了

------解决方案--------------------
你输出checkbox的时候就可以判断了啊,参考版主的代码。
------解决方案--------------------
引用:
引用:你判断checkbox的 checked 属性不就行了

1就打钩,0就不打钩,是这样吗?但是它怎么知道1的时候就会自动打钩呢?



<input name="checkbox" type="checkbox" id="checkbox" <?php if($key){echo 'checked="checked"';}?> />

------解决方案--------------------
可以把权限列表和用来做判断的依据一一对应起来。
   显示在页面的时候,根据值来做判断,来控制checkbox的checked属性就可以了。
------解决方案--------------------
#10写的很清楚了,你老强调自己是新手,如果你新到连html也不了解,那别人也无法帮你
自己在html里面写一下下面两句,看看区别就知道了
<input name="checkbox" type="checkbox" id="checkbox" />
<input name="checkbox" type="checkbox" id="checkbox" checked />
------解决方案--------------------
发过去了,查收