eugenem 11 Posted September 11, 2018 Report Share Posted September 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 Link to post Share on other sites
KoVaLsKy 59 Posted September 11, 2018 Report Share Posted September 11, 2018 Жень, скинь что в 658 строке и на vam_redirect.inc.php on line 47 Вроде тоже выскакивал, правил файл редиректа. Link to post Share on other sites
eugenem 11 Posted September 11, 2018 Author Report Share Posted September 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)); Link to post Share on other sites
support 447 Posted September 11, 2018 Report Share Posted September 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); и всё должно работать даже так. Link to post Share on other sites
eugenem 11 Posted September 11, 2018 Author Report Share Posted September 11, 2018 Страну и регион я первым делом проверил, включено. Если вывод предупреждений и ошибок отключен, то после нажатия кнопки оформить дальше просто виснет. Link to post Share on other sites
support 447 Posted September 11, 2018 Report Share Posted September 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. Link to post Share on other sites
eugenem 11 Posted September 11, 2018 Author Report Share Posted September 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, но и установка на чистую сборку с обновленной базой дает тот же результат. Link to post Share on other sites
support 447 Posted September 11, 2018 Report Share Posted September 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'); Link to post Share on other sites
eugenem 11 Posted September 11, 2018 Author Report Share Posted September 11, 2018 Так, в общем, проблема вроде бы решена. Была она в настройках отправки email. Стоял метод SMTP, скорее всего с некорректными данными. Link to post Share on other sites
support 447 Posted September 11, 2018 Report Share Posted September 11, 2018 27 минут назад, eugenem сказал: Так, в общем, проблема вроде бы решена. Была она в настройках отправки email. Стоял метод SMTP, скорее всего с некорректными данными. Хорошо, что разобрались. Хотя, по идее, если не может подключиться к smtp, то пишет ошибку, что не может отправить почту. Link to post Share on other sites
eugenem 11 Posted September 11, 2018 Author Report Share Posted September 11, 2018 Да, помню. Но почему-то сейчас так. Дальше ковыряться не буду, заработало и ладно. Link to post Share on other sites
Recommended Posts