Хорошо, код длинный и скучный, но я в недоумении.Ошибка PHP-класса без ошибок
В принципе у меня есть форма, и форма попадает в массив объектов. Имя объекта - Person().
Однако, если они не заполнили форму правильно, в ней будет отображаться сообщение об ошибке, например, «Электронная почта не может быть пустым».
Проблема в том, что при наличии ошибок в форме страница умирает в очень определенном месте.
На данный момент объект выглядит следующим образом:
Array
(
[0] => Person Object
(
[firstname:Person:private] => Richard
[lastname:Person:private] => Gert
[gender:Person:private] =>
[age:Person:private] =>
[add1:Person:private] =>
[add2:Person:private] =>
[add3:Person:private] =>
[add4:Person:private] =>
[postcode:Person:private] =>
[country:Person:private] =>
[phone:Person:private] => 3299394
[email:Person:private] => [email protected]
[price:Person:private] => 67.5
[additional:Person:private] =>
[active:Person:private] => 1
[ref:Person:private] => c75af
[ticketref:Person:private] => 0acbc
[org:Person:private] => RA
[type:Person:private] => wc
)
)
И это прекрасно. Страница умирает, хотя на этот бит:
<tr><td class="top left" width="200px">First Name</td>
<td class="top right">
<input type="text" class="txt" name="firstname" value="<?=$people[0]->firstname();?>">
</td></tr>
И функция для FirstName является:
function firstname() {if($this->firstname) return($this->firstname);}
же, как и любой другой функции на самом деле в классе человек.
Но почему он не работает здесь, даже когда есть первое имя для вывода? Она не дает никаких ошибок, на самом деле HTML в данный момент выглядит следующим образом:
<tr><td class="top left" width="200px">First Name</td><td class="top right">
страница останавливается или умирает еще до того, как пишет слова <input...
.
Я не могу понять, почему.
* Отчет об ошибках определенно включен. Кроме того - если форма заполнена правильно (электронная почта, номер телефона и т. Д.), Код работает абсолютно нормально. Объект заполняется, и пользователь переходит на этап 2. *
Что происходит, когда вы 'var_dump ($ people [0] -> firstname())'? Что вы получаете? –
Я знаю в вопросе, что вы вставили заполненный массив, но можете ли вы проверить, что '$ people' не пуст? –
@ AndréDion $ people - это выход вверх с var_dump ($ people). – Chud37