for ($i=1; $i<=27 ; $i++) {
echo 'listid='.$i.'';
echo 'statusid='.$_POST[$i].'';
if (isset($_POST[$i])) {
$listid = $i;
$statusid = $_POST[$i];
// $funcs->insertAudit($listid,$statusid);
}
}
Можете ли вы поместить переменную внутри $_POST
? Потому что кажется, что это моя проблема. Он отображает эту ошибку:
listid = 1
Примечание. Неопределенное смещение: 1 в C:\xampp\htdocs\stafflease\index.php в строке 563
StatusID =
Вы не итерации безопасно на ваш $_POST
.
ошибка говорит "неопределенное смещение 1" означает, что $_POST[1]
не существует
вы должны безопасно перебирать использование foreach, что гарантирует, что у вас есть ключ (смещение)
foreach($_POST as $key=>$value){
$listid = $key;
$statusid = $value;
}
если вы все еще хотите использовать диапазон от 1 до 27, вы должны спросить isset перед тем, как отправиться в эту ячейку.
for($i = 1; $i < 27; $i){
if(!isset($_POST[$i])) continue;
//here it is safe to use $_POST[$i]
}
<label>Dynamic URL's</label> <select> <option name="20" value="1">Ok</option> <option name="20" value="2">Information</option> <option name="20" value="3">Warning</option> <option name="20" value="4">Danger</option> </select> <label>Too long URL's</label> <select> <option name="21" value="1">Ok</option> <option name="21" value="2">Information</option> <option name="21" value="3">Warning</option> <option name="21" value="4">Danger</option> </select>
, вот почему мне нужно использовать диапазон 1-27
его нецелесообразно получать значения из массива $ _POST с помощью целочисленных индексов в боковом цикле. Вы можете использовать цикл foreach.
foreach($_POST as $key=>$value){
$listid = $key;
$statusid = $value;
}
$ key здесь будет атрибутом имени ваших полей формы html. Также лучше видеть, что находится внутри массива $ _POST, для этой цели вы можете сделать для целей тестирования.
echo '<pre>';
var_dump($_POST);
die;
for
цикла.echo
после проверки, установлен ли$_POST[$i]
.