|
 3.2 Кб |
|
| Здравствуйте, прохожу учение по вашей книге: "PHP. Практика создания Web-сайтов (2 издание)"
Возникла ошибка:
Fatal error: Uncaught exception 'ExceptionMember' with message 'Член Field::value не существует' in C:...class.field.php:68 Stack trace: #0 C:...edit_user.php(42): Field->__get('value') #1 {main} thrown in C:...class.field.php on line 68
Как я понял не передается параметр id при проверке:
"$query = "SELECT COUNT(*) FROM users WHERE email = '{$form->fields['email']->value}'
AND id_user != {$form->fields[id]->value}";"
и записи в базу:
"$query = "UPDATE users SET pass = '{$form->fields[pass]->value}', email = '{$form->fields[email]->value}', description = '{$form->fields[desc]->value}' WHERE id_user ={$form->fields[id]->value}";"
Не могу не как понять почему и как исправить, пробывал даже подставлять $_POST[id]
Пишит что не является числом, хотя передается число!
Помогите плиз, файл прикрепил.
Спасибо. | |
|
|
|
|
|
|
|
для: pimpys
(06.11.2011 в 18:22)
| | Нужно, чтобы название 'id' и $_REQUEST['id_user'] совпадали или самостоятельно инициализировать $_REQUEST['id_user'] при перезагрузки формы.
$user = new FieldHiddenInt('id', $_REQUEST['id_user'], true);
|
| |
|
|
|
|
|
|
|
для: cheops
(06.11.2011 в 21:44)
| | Спасибо. | |
|
|
|
|
|
|
|
для: cheops
(06.11.2011 в 21:44)
| | Переименование помогло, правда из функции encodestring файла class.field пришлось удалить "_" так как оно заменяло на букву "i".
Скажите пожалуйста как "самостоятельно инициализировать $_REQUEST['id_user'] при перезагрузки формы" потому что я чуть чуть или совсем не понял :)
Как я делал:
if(!empty($_POST)){
if(isset($_POST[id])) $_POST[id] = $_REQUEST['id_user'];
...
| => не помогло
и так:
if(!empty($_POST)){
if(empty($_POST[id])) $_POST[id] = $_REQUEST['id_user'];
...
| => Назначило число но всеравно не помогло :) | |
|
|
|
|
|
|
|
для: pimpys
(07.11.2011 в 15:22)
| | if(empty($_POST)) следует использовать если вам нужно инициализировать данные в HTML-форме до того, как пользователь нажал кнопку "Отправить", а если нужно произвести инициализацию или корректировку данных в $_REQUEST после того, как кнопка "Отправить" нажата (например, возникла ошибка заполнения формы), следует использовать if(!empty($_POST)) или else-блок первого условия. | |
|
|
|
|
|
|
|
для: pimpys
(07.11.2011 в 15:22)
| | $_REQUEST и $_POST в скрипте уже рассматриваются как разные массивы (они только перед инициализацией скрипта содержат идентичный набор POST-данных, при условии, что он не переписывается данными из других источников), если вы $_REQUEST['id'], то инициировать тоже нужно $_REQUEST['id']. | |
|
|
|
|
|
|
|
для: cheops
(07.11.2011 в 15:44)
| | Спасибо | |
|
|
|