2016-09-09 2 views
0

Цикл foreach в конце с $ _POST ['clients'] возвращает только одно значение. Что не так?

<?php $clients_to_display = Client::find_all(); ?> 
      <p><?php foreach ($clients_to_display as $key) { 
       echo $key->name; ?>:<input type='checkbox' name='clients[]' value=<?php $key->name; ?></><br/> 
      <?php } ?></p> 

     if(isset($_POST['submit'])){ 

     $job->name = $_POST["job_name"]; 
     $job->description = $_POST["job_description"]; 
     $job->type = $_POST["job_type"]; 
     $job->age = $_POST["job_age"]; 

    foreach ($_POST['clients'] as $key) { 
     echo $key; 
    } 
} 
+1

И если 'print_r ($ _ POST ['clients'])'? –

+1

И btw - что это такое ''? –

ответ

0

Этот код ничего не делает:

<?php $key->name; ?> 

Я думаю, что вы хотите:

<?php echo($key->name); ?> 

Кроме того, он должен быть заключен в кавычки:

value="<?php echo($key->name); ?>" 

Также разметка недействительна. Итак, полная строка должна быть:

echo($key->name); ?>:<input type="checkbox" name="clients[]" value="<?php echo($key->name); ?>" /><br/> 
+0

Спасибо, тонна sg- это работает. Почему часть стоимости должна быть заключена в кавычки? Заранее спасибо. –

+0

Рад помочь. Все атрибуты HTML должны быть заключены в кавычки, чтобы они были действительной разметкой. –

+0

О, круто, понял. Еще раз спасибо! –

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