2015-08-17 3 views
1
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
Notice: Undefined offset: 1 in C:\xampp\htdocs\stafflease\index.php on line 563
statusid=

+2

вы должны проверить, установлено ли это перед выполнением этого цикла 'for'. –

+0

Положите 'echo' _after_ проверку того, установлен ли' $ _POST [$ i] '. – raina77ow

+0

if (isset ($ _ POST [$ id]) &&! Empty ($ _ POST)). вы можете проверить, существует ли $ _POST [$ i] –

ответ

2

Вы не итерация безопасно на вашем $_POST.
ошибка говорит «не определенно смещение 1» означает, что $_POST[1] не существует

вы должны перебирать безопасное использование Еогеаспа, что гарантирует вас есть ключ (смещение)

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] 
} 
+0

'

+0

ok, так что возьмите второй пример и используйте isset –

+0

@AidylBaylon это сработало? –

0

не подходит для получения значений из массива $ _POST с помощью целых индексов в цикле. Вы можете использовать цикл foreach.

foreach($_POST as $key=>$value){ 
    $listid = $key; 
    $statusid = $value; 
} 

$ key здесь будет присвоено имя вашего поля формы html. Также лучше видеть, что находится внутри массива $ _POST, с этой целью вы можете сделать для цели тестирования.

echo '<pre>'; 
var_dump($_POST); 
die; 
+0

Я не могу использовать foreach, потому что у меня все еще есть пара типов ввода внутри моей формы рядом с выпадающими списками –

+0

нормально, нет проблем, затем попробуйте var_dump() и получите значения из массива $ _POST с помощью точных индексов. –

Смежные вопросы