Я уверен, что совершаю простую ошибку ... но просто не могу ее найти.
В конечном итоге я публикую JSON-массив из приложения для Android (эта часть работает), но пока я просто тестирую между двумя страницами PHP (1: тестирование страницы PHP с базовой формой и 2: финал CodeIgniter пункт назначения) Вот что у меня есть:
На странице формы:
<form action="bambooinvoice/index.php/api2/newinvoice/4/0/0" method="post">
<?php
$array = array("items"=>array(
"taxable"=>1,
"quantity"=>1,
"amount"=>123.99,
"work_description"=>"this is a test"));
$json = json_encode($array);
?>
<input type="hidden" name=json value=<?php $json ?> />
<input type="submit" name="btnSendForm" value="Send" />
</form>
Это создает (что выглядит хорошо для меня):
{"items":{"taxable":1,"Quantity":1,"amount":123.99,"work_description":"this is a test"}}
На стороне CodeIgniter у меня есть:
$input = $this->input->post('json');
$items = json_decode($input, TRUE);
$amount = 0;
foreach ($items as $item) // In case there are multiple 'items'
{
$taxable = (isset($item['taxable']) && $item['taxable'] == 1) ? 1 : 0;
$invoice_items = array(
'quantity' => $item['quantity'],
'amount' => $item['amount'],
'work_description' => $item['work_description'],
'taxable' => $taxable
);
$this->_addInvoiceItem($invoice_items); //simply adding contents to DB
}
В конце я получаю ошибку: (я получил множество ошибок на самом деле во всех моих настройках, но это та, которую я не могу поколебать)
Message: Invalid argument supplied for foreach()
Отредактировано - чтобы исправить опечатку.