Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Не создаётся подарочный сертификат


monax

Recommended Posts

Создаю подарочный сертификат. Тыцяю "сохранить", выдаёт белую страницу. Посмотрел лог ошибок. Там следующее:

[Mon Oct 10 15:59:50 2011] [error] [client мой_айпи] PHP Fatal error:  Call to undefined function filter_var() in путь_к_домену/admin/controller/sale/voucher.php on line 493, referer: http://www.мой_сайт/admin/index.php?route=sale/voucher/insert&token=c6c7d51923c1ed327d3cc779ab81b5fb

В 493 строке (и двух последующих) такой кусок кода:

if ((strlen($this->request->post['to_email']) > 96) || !filter_var($this->request->post['to_email'], FILTER_VALIDATE_EMAIL)) {
      		$this->error['to_email'] = $this->language->get('error_email');
    	}

Закомментировал их.

Опять сертификат не создаётся. Теперь ругается на ту же функцию в 501 строке:

[Mon Oct 10 16:07:30 2011] [error] [client мой_айпи] PHP Fatal error:  Call to undefined function filter_var() in путь_к_домену/admin/controller/sale/voucher.php on line 501, referer: http://мой_сайт/admin/index.php?route=sale/voucher/insert&token=379896c4dea7bfaaf5fef5da66ddc0e4

В 501 строке (и двух последующих) такой кусок кода:

if ((strlen(utf8_decode($this->request->post['from_email'])) > 96) || !filter_var($this->request->post['from_email'], FILTER_VALIDATE_EMAIL)) {
      		$this->error['from_email'] = $this->language->get('error_email');
    	}
Закомментировал и это. Теперь всё нормально создаётся, отправляется и работает.

Вопрос: почему не определена функция filter_var() и как правильно исправить сей баг (глюк, косяк настройки системы или хз что)?

Надіслати
Поділитися на інших сайтах


Как говорят в Одессе: "И шо, таки никто не знает?"

Функция filter_var() - занимается фильтром по определенным параметрам, насколько понял, что-то типо замена регулярок...Возможно у тебя на сервере в php сборке эта функция не активна...

Подробнее о ее работе можно почитать тут

Надіслати
Поділитися на інших сайтах


Да, у меня версия 5.1.6... :(

А в неё установить поддержку этой функции нереально? Я так понял, нужно установить расширение PHP filter.so. Но как это сделать - нигде не нашёл. Несколько часов рылся в поисковиках, но ничего особо внятного по этой библиотеке не нашёл. Есть, конечно, для разных операционок кое-какие данные, но они либо достаточно скудные, либо шибко навороченные (у меня стоит CentOs). Тыкал, пробовал, не получилось. Я доставлял и раньше некоторые библиотеки через SSH клиент, но с этим filter.so никак не получается. Или оно не станет на мою версию...

ЗЫ. Кстати, только что заметил, что в ссылке, которую дал Fizik87, собственно, так и написано: PHP 5 >= 5.2.0. Как это я раньше не обратил на это внимание... :blink: Всем спасибо! Пожалуй, ночью обновлю PHP до версии 5.2.17.

Змінено користувачем monax
Надіслати
Поділитися на інших сайтах


filter_var() это замена часто используемых регулярок и реализовать эти функции не сложно без установки каких либо расширений, но лучше обновиться.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.