Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка кода 
:(
    Опции темы
nurv_ad
Дата 13.3.2007, 04:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.10.2006

Репутация: нет
Всего: нет



Помогите разобраться из за чего такая ошибка 

Warning: Division by zero in M:\www\www\www\news\inc\functions.inc.php on line 469

Код

function insertSmilies($insert_location, $break_location = FALSE, $admincp = FALSE, $wysiwyg = FALSE)
{
    global $config_http_script_dir, $config_smilies;

    $smilies = explode(",", $config_smilies);
        foreach($smilies as $smile)
        {
        $i++; $smile = trim($smile);
              if($admincp){
                    if($wysiwyg){
//                       $advanced_smile = "<img alt=\':$smile:\' src=\'data/emoticons/$smile.gif\' />";
  //                     $output .= "<a href=# onclick=\"javascript:InsertIntoArea('$insert_location','$advanced_smile'); return false;\"><img style=\"border: none;\" alt=\"$smile\" src=\"$config_http_script_dir/data/emoticons/$smile.gif\" /></a>";
                       $output .= "<a href=# onclick=\"document.getElementById('$insert_location').contentWindow.document.execCommand('InsertImage', false, '$config_http_script_dir/data/emoticons/$smile.gif'); return false;\"><img style=\"border: none;\" alt=\"$smile\" src=\"$config_http_script_dir/data/emoticons/$smile.gif\" /></a>";

                    }
                    else{ $output .= "<a href=# onclick=\"javascript:document.getElementById('$insert_location').value += ' :$smile:'; return false;\"><img style=\"border: none;\" alt=\"$smile\" src=\"$config_http_script_dir/data/emoticons/$smile.gif\" /></a>"; }
              }else{
                    $output .= "<a href=\"javascript:insertext(':$smile:','$insert_location')\"><img style=\"border: none;\" alt=\"$smile\" src=\"$config_http_script_dir/data/emoticons/$smile.gif\" /></a>";
              }
                if($i%$break_location == 0 and $break_location)  (это строка 469)
                {
                        $output .= "<br />";
                }else{ $output .= "&nbsp;"; }
    }
        return $output;
}


Такая проблема возникла после обновления php до версии php 5

Подскажите как можно решить эту задачу.
Спасибо.

M
PARROT
Модератор: Название темы должно отражать ее суть!


Это сообщение отредактировал(а) PARROT - 13.3.2007, 10:15
PM MAIL   Вверх
boombick
Дата 13.3.2007, 09:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 20.4.2005
Где: Moscow, Russia

Репутация: 2
Всего: 9



Деление на ноль. Покажите именно 469 строку.


--------------------
Все вышесказанное - имхо, и на истину в последней инстанции не претендует
------
UNIX and other
PM MAIL WWW ICQ   Вверх
skyboy
Дата 13.3.2007, 09:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(nurv_ad @  13.3.2007,  03:38 Найти цитируемый пост)
$i%$break_location == 0

твоя строка. а вот объявление переменной 
Цитата(nurv_ad @  13.3.2007,  03:38 Найти цитируемый пост)
function insertSmilies($insert_location, $break_location = FALSE, $admincp = FALSE, $wysiwyg = FALSE)
{

как видно, $break_location - по умолчанию будет false. В контексте целочисленных(точнее - любых числовых) операций - 0. Ты хочешь найти остаток от деления на ноль(оператор "%" - это "остаток от деления"). При этом интерпретатору надо разделить сначала $i на $break_location, чтоб потом найти остаток от деления. но на ноль делить нельзя, о чем тебе интерпретатор сообщает. чего ж ты хотел?
PM MAIL   Вверх
nurv_ad
Дата 13.3.2007, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.10.2006

Репутация: нет
Всего: нет



Цитата(boombick @ 13.3.2007,  09:15)
Деление на ноль. Покажите именно 469 строку.

Я ее указал в скобках

Добавлено @ 14:34 
Цитата(skyboy @ 13.3.2007,  09:24)
Цитата(nurv_ad @  13.3.2007,  03:38 Найти цитируемый пост)
$i%$break_location == 0

твоя строка. а вот объявление переменной 
Цитата(nurv_ad @  13.3.2007,  03:38 Найти цитируемый пост)
function insertSmilies($insert_location, $break_location = FALSE, $admincp = FALSE, $wysiwyg = FALSE)
{

как видно, $break_location - по умолчанию будет false. В контексте целочисленных(точнее - любых числовых) операций - 0. Ты хочешь найти остаток от деления на ноль(оператор "%" - это "остаток от деления"). При этом интерпретатору надо разделить сначала $i на $break_location, чтоб потом найти остаток от деления. но на ноль делить нельзя, о чем тебе интерпретатор сообщает. чего ж ты хотел?

Так ну это все понятно. Но почему когда у меня стояла php более ранней версии то ошибки небыло...
или можно просто решить выключить варнинги как быть?
PM MAIL   Вверх
skyboy
Дата 13.3.2007, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(nurv_ad @  13.3.2007,  13:29 Найти цитируемый пост)
Но почему когда у меня стояла php более ранней версии то ошибки небыло...

может, там был настроен уровень выдачи сообщений E_NONE?
откель я знаю, как оно у тебя настроено и как было настроено?  smile 
Цитата(nurv_ad @  13.3.2007,  13:29 Найти цитируемый пост)
или можно просто решить выключить варнинги как быть? 

угу. скрипт в *опу глючит, но виду не подаёт smile
Ты мне лучше объясни, почему у тебя берется остаток от деления на переменную булевого типа и почему эта переменная по умолчанию имеет значение ноль - чтоб страшно было?  smile 
PM MAIL   Вверх
nurv_ad
Дата 13.3.2007, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.10.2006

Репутация: нет
Всего: нет



Ну объяснить полностью не смогу так как сам разбираюсь, а так это скрипт cutenews...
Работает нормально и смайлы показывает, хотя пробовал щас сам исходник поставить тоже самое. 

Не знаю обновил на php5 и началсиь глюки. Че делать хз

Добавлено @ 15:27 
на счет cutenews. Вещь хорошая но вся глючная. проктически половину кода изменил, а вот эту часть с добавлением смайлов не пойму. хотя она работает... но ошибка есть
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0567 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.