Перейти к содержанию
Форум поддержки пользователей VamShop

Странная ошибка в модуле Квитанция


Рекомендуемые сообщения

Саша.

В последнее время появилась ошибка, возникающая при формировании квитанции об оплате в Сбербанке. Почему-то в квитанцию подставляются реквизиты (ФИО и адрес) совсем другого человека, а не покупателя, оформившего заказ. Причем происходит это не постоянно, а время от времени.

По базе смотрел - там всё нормально.

Ссылка на сообщение
Поделиться на другие сайты

А может есть какая-то зависимость или ещё что, так сложно сказать, по идее, подставляеются именно данные того клиента, что оформляет заказ, либо те, что указываются при выборе оплаты, т.е. когда заполняете адрес и имя.

Ссылка на сообщение
Поделиться на другие сайты

Сейчас посмотрел таблицу persons в ней этому заказу соответствуют 3 записи.

1 с верной фамилией и 2 с неправильной, которая и внесена в квитанцию

Ссылка на сообщение
Поделиться на другие сайты

Это странно конечно, создаётся, по идее, всего одна запись с номером заказа.

Удалите тогда 2 лишние.

Ссылка на сообщение
Поделиться на другие сайты

сечас-то уже поздно, деньги пришли.

Но хотелось бы найти причину возникновения дубликатов записи в таблице persons.

Не подскажешь, на каком этапе формируется запись в эту таблицу?

Ссылка на сообщение
Поделиться на другие сайты

Может в базой данных что-то делали, переносили таблицы, удаляли что?

Насколько я помню, ничего не удалял и не переносил.

Ссылка на сообщение
Поделиться на другие сайты

Ну я тогда и не подскажу как такое могло случиться, может как-то заказ оформили два раза с одним и тем же номером (id), хотя опять же, сложно такое представить.

Ссылка на сообщение
Поделиться на другие сайты

Саша, дубликаты записей в таблице начали возникать через несколько дней после обновления до 1.55. Дня через четыре.

Не могла ли закрасться ошибка в патч?

Ссылка на сообщение
Поделиться на другие сайты

У меня весьма поверхностные знания PHP. Сравнивая файл, я обратил внимание, что раньше информация заносилась в базу в функцией after_process(), а сейчас - process_button().

Не может это быть причиной?

Ссылка на сообщение
Поделиться на другие сайты

Попробуйте вот этот код:


  $order_query = vam_db_query("select MAX(orders_id) AS orders_id FROM " . TABLE_ORDERS_TOTAL);

  $order_id = vam_db_fetch_array($order_query);
  $order_num = $order_id['orders_id'] + 1;


      global $insert_id, $name, $address, $checkout_form_action, $checkout_form_submit;

      vam_db_query("INSERT INTO ".TABLE_PERSONS." (orders_id, name, address) VALUES ('" . vam_db_input($order_num) . "', '" . vam_db_input($this->name) . "', '" . vam_db_input($this->address) ."')");
[/code] вставить после:
[code]
function before_process() {

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...