使用get方法的Php复选框

时间:2012-11-07 11:28:51

标签: php forms checkbox getmethod

我有这个:

<form action="index.php" method="get">
     <input  type="checkbox" name="Convs_revenue"
      <? echo (isset($_GET['extra_Data'])?"value='yes'":"value='no'");?>  
      <? if (isset($_POST['extra_Data']) ) echo 'checked="checked"'; ?> >extra_Data </input>
      <input type="submit" value="send">
</form>

现在我需要保持tp的值保持复选框的值,并在取消选中时取消设置。我必须在这个表单中使用GET方法,这也需要在同一页面上。

无论我做什么,它似乎都会被检查,并且get数组始终保持这个状态......

1 个答案:

答案 0 :(得分:1)

首先,<input />不需要结束标记。我还整理了一些代码,因此它更具可读性。

我添加了额外的检查以确保$_POST['extra_Data']不为空。如果它以某种方式显示为空,它将显示为set,我无法看到你如何生成POST本身。

<form action="index.php" method="get">
     <input name="Convs_revenue" type="checkbox" value="<?php (isset($_GET['extra_data']) ? 'yes':'no'); ?>" <?php (isset($_POST['extra_Data']) && !empty($_POST['extra_Data'] ? 'checked="checked"' : '') ?> />
     <input type="submit" value="send">
</form>