Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

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


monax
 Share

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() и как правильно исправить сей баг (глюк, косяк настройки системы или хз что)?

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites


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

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

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

Edited by monax
Link to comment
Share on other sites


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

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.