У меня проблема с проверкой формы.Ниже приведена логика, которая происходит при отправке (по крайней мере, отчасти). В цикле for мы проверяем массив возможных событий, на которые может зарегистрироваться посетитель сайта.Если пользователь не проверил какие-либо события (это флажки, потому что пользователь может зарегистрироваться для нескольких событий), мы должны ввести второе утверждение if ниже, но по какой-то причине это не так.Я знаю, что ни одна из переменных post не установлена, если ничего не проверено, и, установив переменную сеанса, равную переменной $ ECEventCnt, я могу изменить, что, если ничего не опубликовано, эта переменная равна 0. Однако мыпохоже, никогда не попадет во второе утверждение if.Есть мысли?
unset($_SESSION["ECEvents"]);
$ECEventsArray = array();
$ECEventCnt = 0;
$_SESSION['debug'] = 'EC';
for ($i=0; $i<count($Val_WhichEventTypes); $i++) {
$key = $Val_WhichEventTypes[$i]["eventKey"];
//echo 'key' . $key;
if (isset($_POST["WhichEvent-" . $key]) && $_POST["WhichEvent-" . $key] == $key) {
$_SESSION['debug'] .= ' we made it to the place.' . $_POST["WhichEvent-" . $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) ? "" : ", ") . "<br />Please just select at least one Event Type/Time";
}
$_SESSION["ECEvents"] = $ECEventsArray;
//valid_step52();
}