php为什么没办法验证表单,php表单验证无效

本文探讨了一个关于表单验证的问题,用户未选择任何事件时,如何确保正确显示错误提示。作者分享了在PHP代码中的解决方案,涉及检查POST变量、会话变量和设置条件语句,以确保至少一个事件被选中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我有一个表单验证问题。下面是提交时发生的逻辑(至少是其中的一部分)。在for循环中,我们检查一个站点访问者可以注册的可能事件数组。如果用户没有检查任何事件(这些是复选框,因为用户可以注册多个事件),我们应该在下面输入第二条if语句,但由于某种原因,我们不是。我知道如果没有检查到任何post变量,通过设置一个会话变量等于变量$ ECEventCnt,我可以变化,如果没有发布任何内容,那个变量等于0.但是,我们似乎永远不会进入第二个陈述。有什么想法吗?

unset($_SESSION["ECEvents"]);

$ECEventsArray = array();

$ECEventCnt = 0;

$_SESSION['debug'] = 'EC';

for ($i=0; $i

$key = $Val_WhichEventTypes[$i]["eventKey"];

//echo 'key' . $key;

if (isset($_POST["" . $key]) && $_POST["" . $key] == $key) {

$_SESSION['debug'] .= ' we made it to the place.' . $_POST["" . $key];

$ECEventsArray[$key] = $key ;

if (strlen($ECEventsArray[$key])) $ECEventCnt += 1; // Only advance counter if EC Event is checked (key value is set)

}

}

$_SESSION['ecventcount'] = $ECEventCnt;

if ($ECEventCnt = 0) {

set_step_INvalid(5);

$_SESSION['debug'] .= ' we made it to the 2nd place.';

$cnt += 1;

$ValidationError .= ((strlen($ValidationError)==0) ? "" : ", ") . "
Please just select at least one Event Type/Time";

}

$_SESSION["ECEvents"] = $ECEventsArray;

//valid_step52();

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值