Помогите пожалуйста понят откуда вдруг такая ошибка и убрать: PHP Notice: Undefined index: last_order_id in /.../public_html/catalog/controller/checkout/success.php on line 68 opencart 1.5.4.1, до появления ошибки никаких изменений не совершал.
$this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->session->data['last_order_id'], $this->url->link('information/contact'));
Удали номер заказа, чет мне не вериться что он в сессию пишет ласт ид PHP: $this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'));
Обычно пишет в сессию. В обычном. не гостевом заказе точно. эта ошибка только при гостевом заказе выходит?
С номером заказа все в порядке. появляется такой текст: "Ваш заказ №-XXX передан на обработку! Ваш заказ успешно создан! Вы можете просматривать историю заказов в Личном кабинете, открыв Историю заказов. Все вопросы направляйте нам. Спасибо за покупки в нашем интернет-магазине!" но проблема в том, что это ошибка, насколько я понимаю, не связана с оформлением заказа. заказы поступают 1-2 раза в неделю, а ошибка пишется в лог по несколько раз в день.
гугл рассказал что эту ошибку связывают с модулем упрошенного заказа simple. этот модуль у меня почти год работает без нареканий. никаких ошибок до этого не было. никаких изменений тоже. модули не устанавливал.
Ну если ошибка возникает редко и особых проблем не создаёт - так бы и хр...н с ней. если только найти её не дело принципа
а модуль не обновляли, попробуйте его выключить, появится ли ошибка, если нет то проблема в этом модуле и скорее всего вам помогут на форуме этого модуля вот ссылка http://opencartforum.ru/topic/7807-modul-simple-uproschennaia-registratciia-i-zakaz/
нет, не обновлял и не думаю, что проблема в этом модуле. буду тестировать и искать причину. всем спасибо за помощь.
я ничего не делаю. возможно от клиентов или еще откуда нибудь идут какие-то запросы на сайт и появляется это ошибка. я пробовал делать тестовые закупки и платежы. все вроде бы чисто и без ошибок проходит. как то можно отслеживать (где-то включить лог) откуда и какие запросы поступают и связи с чем возникает ошибка?
Попробуйте напрямую (без заказов и корзины) открыть страничку success.php - http://sitename/index.php?route=checkout/success может это и вызывает ошибку
Спасибо за подсказку и помощь! в коде было немного лишнего. проверил, получил ошибку, исправил и все чисто.
В файле: /catalog/controller/checkout/success.php ищем (у меня 65 строка): if ($this->customer->isLogged()) { $this->data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/order/info&order_id=' . $this->session->data['last_order_id'], '', 'SSL'), $this->session->data['last_order_id'], $this->url->link('account/account', '', 'SSL'), $this->url->link('account/order', '', 'SSL'), $this->url->link('account/download', '', 'SSL'), $this->url->link('information/contact')); } else { $this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->session->data['last_order_id'], $this->url->link('information/contact')); } Меняем на: if(isset($this->session->data['last_order_id'])){ if ($this->customer->isLogged()) { $this->data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/order/info&order_id=' . $this->session->data['last_order_id'], '', 'SSL'), $this->session->data['last_order_id'], $this->url->link('account/account', '', 'SSL'), $this->url->link('account/order', '', 'SSL'), $this->url->link('account/download', '', 'SSL'), $this->url->link('information/contact')); } else { $this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->session->data['last_order_id'], $this->url->link('information/contact')); } } else { $this->redirect($this->url->link('common/home')); } Теперь если открыть страницу http://domen.com/index.php?route=checkout/success без заказа, то будет редирект на главную и не будет ошибки.