人们基本上可以选择他们想做什么样的活动。这是通过复选框完成的。我的旧代码有点垃圾,我决定把它清理一下。因此,已检查的POST变量将被放入这样的SESSION中;
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
for($x = 0; $x < $keuzelength; $x++) {
$_SESSION[$keuze[$x]] = $_POST[$keuze[$x]];
}
}
这就像一个魅力,但在此之后我想检查它们是否全是空的。只有当它们都是空的时,才需要弹出错误。目前这样做是这样的:
if (empty($_SESSION['Dierentuin']) &&
empty($_SESSION['Bowlen']) &&
empty($_SESSION['Attractiepark']) &&
empty($_SESSION['Wandelen']) &&
empty($_SESSION['Hardlopen']) &&
empty($_SESSION['Uitgaan']) &&
empty($_SESSION['Zwemmen']) &&
empty($_SESSION['Karten']) &&
empty($_SESSION['Lasergamen']) &&
empty($_SESSION['Paintballen']) &&
empty($_SESSION['Klimmen']) &&
empty($_SESSION['Museum']) &&
empty($_SESSION['Kanovaren']) &&
empty($_SESSION['Weekend weg']) &&
empty($_SESSION['Verras me']) &&
empty($_SESSION['Poolen'])){
print('error text');
exit();
}
这基本上检查上述任何一个是否为空,脚本停止并发送错误。奇迹般有效。但是,只要我为用于复选框的数组添加新选项,我就需要在其中添加另一个空行。
有没有办法检查所有$ _SESSION [$ keuze []]变量?
提前致谢!
答案 0 :(得分:-1)
不起作用,因为我还将其他东西存储在会话变量中。
根据@ImClarky的建议,创建另一个数组来存储你要检查的所有值,即:
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
for($x = 0; $x < $keuzelength; $x++) {
$_SESSION['custom_sessions'][$keuze[$x]] = $_POST[$keuze[$x]];
}
}
然后您可以使用array_filter
检查$_SESSION['custom_sessions']
是否为空,即:
if (!array_filter($_SESSION['custom_sessions']))
{
print('error text'); # empty array
}