| Код добавление позици товара
error_reporting(E_ALL & ~E_NOTICE);
// Устанавливаем соединение с базой данных
require_once("../../config/config.php");
// Подключаем блок авторизации
require_once("../utils/security_mod.php");
// Подключаем классы формы
require_once("../../config/class.config.dmn.php");
// Подключаем функцию изменения размера изображения
require_once("../utils/utils.resizeimg.php");
if(empty($_POST)) $_REQUEST['hide'] = true;
$_REQUEST['id_catalog'] = intval($_REQUEST['id_catalog']);
try
{
$brend = new field_text("brend",
"Бренд",
true,
$_REQUEST['brend']);
$model = new field_text("model",
"Модель",
true,
$_REQUEST['model']);
$foto_name = new field_text("foto_name",
"Название",
false,
$_POST['foto_name']);
$big = new field_file("big",
"Изображение",
false,
$_FILES,
"../../files/photo/");
$text_x = new field_text("text_x",
"Характеристика",
$_REQUEST['text_x']);
$text_o = new field_text("text_o",
"Описание",
$_REQUEST['text_o']);
$price = new field_text_int("price",
"Цена",
true,
$_REQUEST['price']);
$hide = new field_checkbox("hide",
"Отображать",
$_REQUEST['hide']);
$id_catalog = new field_hidden_int("id_catalog",
true,
$_REQUEST['id_catalog']);
$form = new form(array( "brend" => $brend,
"model" => $model,
"foto_name" => $foto_name,
"big" => $big,
"text_x" => $text_x,
"text_o" => $text_o,
"price" => $price,
"hide" => $hide,
"id_catalog" => $id_catalog),
"Добавить",
"field");
// Обработчик HTML-формы
if(!empty($_POST))
{
// Проверяем корректность заполнения HTML-формы
// и обрабатываем текстовые поля
$error = $form->check();
if(empty($error))
{
// Извлекаем текущую максимальную позицию
$query = "SELECT MAX(pos) FROM $tbl_cat_position
WHERE id_catalog={$form->fields['id_catalog']->value}";
$pos = mysql_query($query);
if(!$pos)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка при извлечении
текущей позиции");
}
$pos = mysql_result($pos, 0) + 1;
// Скрытый или открытая позиция
if($form->fields['hide']->value) $showhide = "show";
else $showhide = "hide";
// Изображения
$var = $form->fields['big']->get_filename();
if(!empty($var))
{
$big = "files/photo/".$var;
$small = "files/photo/s_".$var;
}
else $big = "";
// Извлекаем параметры галереи
$query = "SELECT * FROM $tbl_photo_settings LIMIT 1";
$set = mysql_query($query);
if(!$set)
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка при извлечении
параметров галереи");
}
if(mysql_num_rows($set))
{
$settings = mysql_fetch_array($set);
}
else
{
$settings['width'] = 150;
$settings['height'] = 133;
}
// Формируем малое изображение
resizeimg($big, $small, $settings['width'], $settings['height']);
// Формируем SQL-запрос на добавление позиции
$query = "INSERT INTO $tbl_cat_position
VALUES (NULL,
'{$form->fields[brend]->value}',
'{$form->fields[model]->value}',
'{$form->fields[foto_name]->value}',
'$big',
'$small',
'{$form->fields[text_x]->value}',
'{$form->fields[text_o]->value}',
'{$form->fields[price]->value}',
'$showhide',
'$position',
NOW(),
'{$form->fields[id_catalog]->value}')";
if(!mysql_query($query))
{
throw new ExceptionMySQL(mysql_error(),
$query,
"Ошибка при добавлении
позиции");
}
// Осуществляем редирект на главную страницу
header("Location: position.php?".
"id_catalog={$form->fields[id_catalog]->value}&".
"page={$form->fields[page]->value}");
exit();
}
}
// Начало страницы
$title = 'Добавление изображения';
$pageinfo = '<p class=help></p>';
// Включаем заголовок страницы
require_once("../utils/top.php");
echo "<p><a href=# onClick='history.back()'>Назад</a></p>";
// Выводим сообщения об ошибках если они имеются
if(!empty($error))
{
foreach($error as $err)
{
echo "<span style=\"color:red\">$err</span><br>";
}
}
// Выводим HTML-форму
$form->print_form();
}
catch(ExceptionObject $exc)
{
require("../utils/exception_object.php");
}
catch(ExceptionMySQL $exc)
{
require("../utils/exception_mysql.php");
}
catch(ExceptionMember $exc)
{
require("../utils/exception_member.php");
}
// Включаем завершение страницы
require_once("../utils/bottom.php");
|
Нажимаем добавить и получаем ошибку типа
Произошла исключительная ситуация (ExceptionMember) - попытка обращения к несуществующему члену класса. Член field::value не существует.
Ошибка в файле bla\bla\class\class.field.php в строке 76.
на 76 строчке функция
// Доступ к закрытым и защищённым элементам класса
// только для чтения
public function __get($key)
{
if(isset($this->$key)) return $this->$key;
else
{
throw new ExceptionMember($key,
"Член ".__CLASS__."::$key не существует");
}
}
|
Фотография на сервер загружаеться в папку, в базу не пишеться ничего,
2 часа пытался найти ошибку, безрезультатно. | |