Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Ошибка: A non-numeric value encountered in


Recommended Posts

Ребята подскажите пожалуйста после установки OcStore 3.0 в админке на главной странице получаю ошибку

 

Цитата

Warning: A non-numeric value encountered in 
/hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141Warning: Division by zero in

/hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141Warning: A non-numeric value encountered in /hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141Warning: Division by zero in

/hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141Warning: A non-numeric value encountered in /hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141Warning: Division by zero in

/hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141Warning: A non-numeric value encountered in /hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141Warning: Division by zero in

/hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141Warning: A non-numeric value encountered in /hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141Warning: Division by zero in

/hsphere/local/home/ss/101ok.com.ua/admin/model/localisation/currency.php on line 141

 

В чем может быть причина ?

строки 140 - 142

Цитата

if ((float)$value < 1 && isset($line[$i + 1])) {
                $value = (1 / utf8_substr($line[$i + 1], 11, 6));
            }    

 

Змінено користувачем Nannco
Надіслати
Поділитися на інших сайтах


Скорее всего у вас тип данных $value не числовой

Надіслати
Поділитися на інших сайтах

5 хвилин назад, Nannco сказав:

Как это можно исправить?

Из того, что вижу то 

$value = (float)(1/utf8_substr($line[$i+1],11,6));

Хотя из такого кода трудно определить в какой переменной не верный тип данных

Змінено користувачем Flint2000
Надіслати
Поділитися на інших сайтах

24 минуты назад, Flint2000 сказал:

1/utf8_substr($line[$i+1],11,6)

36 минут назад, Nannco сказал:

Division by zero

Попытка деления на 0, ищите что отдает функция.

Надіслати
Поділитися на інших сайтах

26 минут назад, Flint2000 сказал:

$value = (float)(1/utf8_substr($line[$i+1],11,6));

 

Да странная ошибка при установки на чистую базу данных чистый движок окстор((( попробовал заменил не прокатывает страница не найдена. 

Надіслати
Поділитися на інших сайтах


2 минуты назад, esculapra сказал:

Попытка деления на 0, ищите что отдает функция.

Если удалить эту строку 

Цитата

$value = (float)(1/utf8_substr($line[$i+1],11,6));

 то ошибка исчезает, но она же за что-то отвечает, потом когда установлю шаблон то вылезут косяки?)))

Надіслати
Поділитися на інших сайтах


       Сделай вывод из цикла и смотри что возвращает

for ($i = 0; $i < count($line); $i = $i + 2) {
            $currency = utf8_substr($line[$i], 4, 3);
            $value = utf8_substr($line[$i], 11, 6); echo $value;

 

Надіслати
Поділитися на інших сайтах

5 минут назад, esculapra сказал:

       Сделай вывод из цикла и смотри что возвращает

for ($i = 0; $i < count($line); $i = $i + 2) {
            $currency = utf8_substr($line[$i], 4, 3);
            $value = utf8_substr($line[$i], 11, 6); echo $value;

 

 

Не сильно разбираюсь в этом( хостер ответил что это проблема не с хостингом а сборкой окстор и сбросил код который мне ничего не говорит))) Можете расшифровать?

 

Цитата

for ($i = 0; $i < count($line); $i = $i + 2) { 
$currency = utf8_substr($line[$i], 4, 3); 
$value = utf8_substr($line[$i], 11, 6); 

if ((float)$value < 1 && isset($line[$i + 1])) { 
$value = (1 / utf8_substr($line[$i + 1], 11, 6)); 
} 

if ((float)$value) { 
$this->db->query("UPDATE " . DB_PREFIX . "currency SET value = '" . (float)$value$ 
} 
} 

 

Надіслати
Поділитися на інших сайтах


7 минут назад, Nannco сказал:

Если удалить эту строку 

 то ошибка исчезает, но она же за что-то отвечает, потом когда установлю шаблон то вылезут косяки?)))

Походу это котировка валют, получаемая от download.finance.yahoo.com/d/quotes.csv

Возможно возникли проблемы не у тебя, а у Яши, и он не дает котировки.

Если вот тут $content = curl_exec($curl); данные приходят, то нужно копать дальше, иначе создать условие

        curl_close($curl);
if(!isset($content)) return; // это добавил
        $line = explode("\n", trim($content));

Надіслати
Поділитися на інших сайтах

Или как Tom сказал, проблема в настройках локализации. Возможно из БД не вынимаются данные, тогда

print_r($query->rows); // смотрим что получили
        foreach ($query->rows as $result) {

 

Манипуляции проводим в файле currency.php

Надіслати
Поділитися на інших сайтах

7 минут назад, Nannco сказал:

Всем спасибо [РЕШЕНИЕ]

Надо отключить автообновление курса валют, ошибка пропала!

Это временное решение, которое отнюдь не устраняет причину, хотя я тоже предпочитаю самостоятельно устанавливать котировки.

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.