我的网站上有一个非常基本的功能,用户勾选一个框,如果勾选该框,它将执行查询并取消设置会话。如果不是,它将不会执行查询,但会破坏会话。
这是非常基本的,但由于某些原因,如果取消选中该复选框,则PHP不会注册。它会被检查,而不是后者。
这是我的PHP:
if(isset($_POST) && !empty($_POST)){
$la = ($_POST['la'] == "on") ? 1 : 0; // if the box is checked, return 1. if not, return 0
if($la == 1 || $la == 0){
if($la == 1){
// where I execute the query...
session_start();
session_unset();
session_destroy();
redirect('./');
exit();
} else if($la == 0) {
session_start();
session_unset();
session_destroy();
redirect('./');
exit();
}
} else {
redirect('./');
}
}
感谢所有帮助:)
答案 0 :(得分:0)
以下是代码,看看它是否有效 -
<?php
session_start();//session start should be in the beginning of the code
if(isset($_POST) && !empty($_POST)){
$la = isset($_POST['la']) ? 1 : 0; // if the box is checked, return 1. if not, return 0
if($la == 1 || $la == 0){
if($la == 1){
// where I execute the query...
session_unset();
session_destroy();
redirect('./');
exit();
} else if($la == 0) {
session_unset();
session_destroy();
redirect('./');
exit();
}
} else {
redirect('./');
}
}
答案 1 :(得分:0)
如果我没弄错,没有直接选中复选框就不会发送变量。 当你没有选择不发送时,这个变量$ _POST ['la']。 也许您需要使用此代码来控制这种情况:
if (isset($_POST['la'])) {
...
}