php中的html复选框onChange方法

php中的html复选框onChange方法,php,html,checkbox,Php,Html,Checkbox,这是我的问题,我只知道html和php,我不知道如何使用javascript。。。关于我的问题的所有解决方案似乎都是用javascript解决的,我想知道是否有一种方法可以用php来解决,这样我就可以理解我在做什么了 我想在我的页面的一角放一个复选框(例如“隐藏信息”),当选中该复选框时,该复选框将自动刷新页面,并隐藏页面上的信息 我现在做的是: <?php if(isset($_GET['condition'])) $_SESSION['condition'] = true;

这是我的问题,我只知道html和php,我不知道如何使用javascript。。。关于我的问题的所有解决方案似乎都是用javascript解决的,我想知道是否有一种方法可以用php来解决,这样我就可以理解我在做什么了

我想在我的页面的一角放一个复选框(例如“隐藏信息”),当选中该复选框时,该复选框将自动刷新页面,并隐藏页面上的信息

我现在做的是:

<?php 
if(isset($_GET['condition']))
    $_SESSION['condition'] = true;
else
    $_SESSION['condition'] = false;
?>
...
...
<form>
    <input type="checkbox" name="hide" value="1" onChange="this.form.submit()" <?php if($_SESSION['hide']) echo "checked";?> > hide information
</form> 

...
...

我看不出你解决问题1的方法有什么问题

关于URL问题2,请将会话放在开始位置();在页面顶部,以使会话正常工作

或者,在该页面的表单中隐藏输入,并回显之前页面的POST值

    <form action="" method="post">
       <input type="hidden" name="condition" value="<?php echo $_POST['condition']; ?>" />
       <!-- have hidden inputs from previous page here, plus your checkbox to retain post values from the previous page -->
    </form>


关于问题的第二点,您可以使用以下代码将POST(或GET)数组移动到会话1并返回:

if(isset($_POST) & count($_POST)) { $_SESSION['post'] = $_POST; }
if(isset($_SESSION['post']) && count($_SESSION['post'])) { $_POST = $_SESSION['post']; }
我用这个做同样的事情。当我重新加载页面时,我会保留已发布的值


关于第一点,您已经走上了正确的道路。

是否在此文件中包含任何处理逻辑的类,或者所有逻辑和html都在同一个文件中?否我包含其他逻辑/数据文件。您可以做的是,提交表单时,您在
$\u POST
中有值,然后可以显示这些提交的值在
input value=“$\u POST['field-data']”
“这样你就不会丢失已经填充的表单字段,然后使用
$\u GET
隐藏逻辑其他字段来自另一页,但是你是对的,我可以使用POST而不是GET。我明白了,看看我修改过的答案。
if(isset($_POST) & count($_POST)) { $_SESSION['post'] = $_POST; }
if(isset($_SESSION['post']) && count($_SESSION['post'])) { $_POST = $_SESSION['post']; }