ошибка success.php on line 68

Тема в разделе "OpenCart", создана пользователем sovvase, 13 окт 2013.

  1. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    Помогите пожалуйста понят откуда вдруг такая ошибка и убрать: PHP Notice: Undefined index: last_order_id in /.../public_html/catalog/controller/checkout/success.php on line 68

    opencart 1.5.4.1, до появления ошибки никаких изменений не совершал.
     
  2. VIP24

    VIP24 Верховный Главнокомандующий

    Регистрация:
    8 июл 2013
    Сообщения:
    239
    Симпатии:
    1.206
    ну а что в этом файле на 68 строке написано?
     
  3. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    $this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->session->data['last_order_id'], $this->url->link('information/contact'));
     
  4. VIP24

    VIP24 Верховный Главнокомандующий

    Регистрация:
    8 июл 2013
    Сообщения:
    239
    Симпатии:
    1.206
    это получается, как я понимаю, он должен номер заказа при оформлении заказа выводить, он появляется?
     
  5. nix

    nix php, MySQL, UNIX, MikroTik ROSAPI

    Регистрация:
    16 янв 2013
    Сообщения:
    1.000
    Симпатии:
    890
    Удали номер заказа, чет мне не вериться что он в сессию пишет ласт ид
    PHP:
    $this->data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact'));
     
  6. Yoda

    Yoda

    Регистрация:
    5 фев 2013
    Сообщения:
    122
    Симпатии:
    22
    Обычно пишет в сессию. В обычном. не гостевом заказе точно. эта ошибка только при гостевом заказе выходит?
     
  7. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    С номером заказа все в порядке. появляется такой текст:
    "Ваш заказ №-XXX передан на обработку!
    Ваш заказ успешно создан!
    Вы можете просматривать историю заказов в Личном кабинете, открыв Историю заказов.
    Все вопросы направляйте нам.
    Спасибо за покупки в нашем интернет-магазине!"
    но проблема в том, что это ошибка, насколько я понимаю, не связана с оформлением заказа. заказы поступают 1-2 раза в неделю, а ошибка пишется в лог по несколько раз в день.
     
  8. furikuri

    furikuri

    Регистрация:
    16 окт 2013
    Сообщения:
    20
    Симпатии:
    1
    После чего ошибка стала появляться, модули ставили какие ни будь?
     
  9. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    гугл рассказал что эту ошибку связывают с модулем упрошенного заказа simple. этот модуль у меня почти год работает без нареканий. никаких ошибок до этого не было. никаких изменений тоже. модули не устанавливал.
     
  10. Yoda

    Yoda

    Регистрация:
    5 фев 2013
    Сообщения:
    122
    Симпатии:
    22
    Ну если ошибка возникает редко и особых проблем не создаёт - так бы и хр...н с ней. если только найти её не дело принципа
     
  11. furikuri

    furikuri

    Регистрация:
    16 окт 2013
    Сообщения:
    20
    Симпатии:
    1
    а модуль не обновляли, попробуйте его выключить, появится ли ошибка, если нет то проблема в этом модуле и скорее всего вам помогут на форуме этого модуля вот ссылка http://opencartforum.ru/topic/7807-modul-simple-uproschennaia-registratciia-i-zakaz/
     
  12. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    нет, не обновлял и не думаю, что проблема в этом модуле. буду тестировать и искать причину. всем спасибо за помощь.
     
  13. VIP24

    VIP24 Верховный Главнокомандующий

    Регистрация:
    8 июл 2013
    Сообщения:
    239
    Симпатии:
    1.206
    что вы делаете по несколько раз в день, возможно там и нужно искать ошибку.
     
  14. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    я ничего не делаю. возможно от клиентов или еще откуда нибудь идут какие-то запросы на сайт и появляется это ошибка. я пробовал делать тестовые закупки и платежы. все вроде бы чисто и без ошибок проходит. как то можно отслеживать (где-то включить лог) откуда и какие запросы поступают и связи с чем возникает ошибка?
     
  15. denya

    denya

    Регистрация:
    2 мар 2013
    Сообщения:
    130
    Симпатии:
    35
  16. sovvase

    sovvase

    Регистрация:
    28 окт 2012
    Сообщения:
    73
    Симпатии:
    1
    Спасибо за подсказку и помощь! в коде было немного лишнего. проверил, получил ошибку, исправил

    и все чисто.
     
  17. Ваган

    Ваган

    Регистрация:
    8 ноя 2013
    Сообщения:
    37
    Симпатии:
    1
    Не совсем понял как решается данная проблема? Объясните пожалуйста подробнее!
     
  18. nightguest

    nightguest

    Регистрация:
    3 дек 2012
    Сообщения:
    7
    Симпатии:
    4
    В файле: /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 без заказа, то будет редирект на главную и не будет ошибки.
     
    Последнее редактирование: 12 янв 2015
    Ваган нравится это.
  19. Ваган

    Ваган

    Регистрация:
    8 ноя 2013
    Сообщения:
    37
    Симпатии:
    1
    Огромное спасибо, все сработало.