eugenem 11 Опубликовано 11 сентября, 2018 Жалоба Share Опубликовано 11 сентября, 2018 Не пойму, в чем может быть проблема? При оформлении заказа выскакивает ошибка: Strict Standards: Only variables should be passed by reference in /home/v/..../checkout.php on line 658 Warning: Cannot modify header information - headers already sent by (output started at /home/v/..../checkout.php:658) in /home/v/..../inc/vam_redirect.inc.php on line 47 Версия 1.92. PHP 5.6 Ссылка на сообщение Поделиться на другие сайты
KoVaLsKy 59 Опубликовано 11 сентября, 2018 Жалоба Share Опубликовано 11 сентября, 2018 Жень, скинь что в 658 строке и на vam_redirect.inc.php on line 47 Вроде тоже выскакивал, правил файл редиректа. Ссылка на сообщение Поделиться на другие сайты
eugenem 11 Опубликовано 11 сентября, 2018 Автор Жалоба Share Опубликовано 11 сентября, 2018 Вот в р-не 658: // country is selected $country_info = vam_get_countriesList($selected_country_id,true); $cache_state_prov_values = vam_db_fetch_array(vam_db_query("select zone_id from " . TABLE_ZONES . " where zone_country_id = '" . (int)$selected_country_id . "' and zone_name = '" . vam_db_input($_POST['state']) . "'")); $cache_state_prov_code = $cache_state_prov_values['zone_code']; if (!vam_session_is_registered('customer_id')) { $order->delivery = array('postcode' => vam_db_prepare_input($_POST['postcode']), 'state' => vam_db_prepare_input($_POST['state']), 'city' => vam_db_prepare_input($_POST['city']), 'country' => array('id' => $selected_country_id, 'title' => $country_info['countries_name'], 'iso_code_2' => $country_info['countries_iso_code_2'], 'iso_code_3' => $country_info['countries_iso_code_3']), 'country_id' => $selected_country_id, //add state zone_id 'zone_id' => $cache_state_prov_values['zone_id'], 'format_id' => vam_get_address_format_id($selected_country_id)); // country is selected End Вот в vam_redirect.inc.php на 47-й: header('Location: ' . preg_replace("/[\r\n]+(.*)$/i", "", $url)); Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 сентября, 2018 Жалоба Share Опубликовано 11 сентября, 2018 А на странице оформление не отключено например поле Страна, Регион?! Может просто отключены поля, соответственно, пустые переменные и sql запрос не выполняется как надо и массив с данными не строится. По идее, даже если так, это ж не ошибка (error), на сколько я понимаю, а предупреждение (warning), т.е. выполнение скрипта не останавливается и идёт дальше. По идее, по умолчанию вывод предупреждение в /includes/application_top.php выключен: // set the level of error reporting error_reporting(0); //ini_set('display_errors',1); //error_reporting(E_ALL & ~E_NOTICE); и всё должно работать даже так. Ссылка на сообщение Поделиться на другие сайты
eugenem 11 Опубликовано 11 сентября, 2018 Автор Жалоба Share Опубликовано 11 сентября, 2018 Страну и регион я первым делом проверил, включено. Если вывод предупреждений и ошибок отключен, то после нажатия кнопки оформить дальше просто виснет. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 сентября, 2018 Жалоба Share Опубликовано 11 сентября, 2018 6 минут назад, eugenem сказал: Страну и регион я первым делом проверил, включено. Если вывод предупреждений и ошибок отключен, то после нажатия кнопки оформить дальше просто виснет. 658 строка это какая именно!? Вот эта: $cache_state_prov_values = vam_db_fetch_array(vam_db_query("select zone_id from " . TABLE_ZONES . " where zone_country_id = '" . (int)$selected_country_id . "' and zone_name = '" . vam_db_input($_POST['state']) . "'")); ?! Проверьте, не пустые ли переменные, т.е. просто подставьте значения, например так: $cache_state_prov_values = vam_db_fetch_array(vam_db_query("select zone_id from " . TABLE_ZONES . " where zone_country_id = '176' and zone_name = 'Москва'")); т.е. нужно просто чуть покопаться в коде, посмотреть, наверняка просто пустые переменные где-то. + можно попробовать взять /checkout.php из текущей версии VamShop. Ссылка на сообщение Поделиться на другие сайты
eugenem 11 Опубликовано 11 сентября, 2018 Автор Жалоба Share Опубликовано 11 сентября, 2018 Еще одна деталь, в mysql_db_error.log вот такая запись попадает: 11/09/2018 11:09:17 | 2006 - MySQL server has gone away | select affiliate_commission_percent from affiliate_affiliate where affiliate_id = '' | /checkout_process.php Никаких партнерок в магазине нет. checkout.php проверил, все там вроде нормально. Сам магазин я обновлял с 1.80, но и установка на чистую сборку с обновленной базой дает тот же результат. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 сентября, 2018 Жалоба Share Опубликовано 11 сентября, 2018 5 минут назад, eugenem сказал: Еще одна деталь, в mysql_db_error.log вот такая запись попадает: 11/09/2018 11:09:17 | 2006 - MySQL server has gone away | select affiliate_commission_percent from affiliate_affiliate where affiliate_id = '' | /checkout_process.php Никаких партнерок в магазине нет. checkout.php проверил, все там вроде нормально. Сам магазин я обновлял с 1.80, но и установка на чистую сборку с обновленной базой дает тот же результат. Вообще странные ошибки конечно, на demo.vamshop.ru вроде всё работает. Судя по последней ошибке, это тянется партнёрка. По идее, это нужно закомментировать/удалить для пробы строку в /checkout_process.php: require_once(DIR_WS_INCLUDES . 'affiliate_checkout_process.php'); и/или в выбранном модуле оплаты: require_once(DIR_WS_INCLUDES . 'affiliate_checkout_process.php'); Ссылка на сообщение Поделиться на другие сайты
eugenem 11 Опубликовано 11 сентября, 2018 Автор Жалоба Share Опубликовано 11 сентября, 2018 Так, в общем, проблема вроде бы решена. Была она в настройках отправки email. Стоял метод SMTP, скорее всего с некорректными данными. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 сентября, 2018 Жалоба Share Опубликовано 11 сентября, 2018 27 минут назад, eugenem сказал: Так, в общем, проблема вроде бы решена. Была она в настройках отправки email. Стоял метод SMTP, скорее всего с некорректными данными. Хорошо, что разобрались. Хотя, по идее, если не может подключиться к smtp, то пишет ошибку, что не может отправить почту. Ссылка на сообщение Поделиться на другие сайты
eugenem 11 Опубликовано 11 сентября, 2018 Автор Жалоба Share Опубликовано 11 сентября, 2018 Да, помню. Но почему-то сейчас так. Дальше ковыряться не буду, заработало и ладно. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения