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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите! Не могу найти баг! ...опять я... 
V
    Опции темы
sergejzr
Дата 12.2.2006, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



Распечатывай на каждой строке
echo "value=".$show; "value=".$image;
и так для всех переменных, чтобы понять, что в проге творится. Может директории такой не существуе, может условие не выполняется. Всё так увидишь.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Onis
Дата 12.2.2006, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Ух... товарищи я вроде нашел ошибку.
Заполнение $dir_folder проходит нормально. (20-30 строки)

а вот ее чтение проходит глухо как-то... (36-68 строки)

На сайте сейчас я сделал вывод значения элементов $dir_folder, правда там все слитно smile но всеже видно начала чтения... это когда она начинает повторяться...

осталось допереть в чем там проблема и испарвить ее smile
Добавлено @ 01:19
Может ф-ю foreach я не правильно юзаю... smile
PM MAIL   Вверх
Mal Hack
Дата 12.2.2006, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Цитата(Kefir @ 11.2.2006, 23:16 Найти цитируемый пост)
2. Функция hash сушествует в PHP - hash. И хоть сами ПХП-шники нга ПХП.нет не знают о версии, есть предположение что админы твоего хостинга апгрейдят сервер (предположение такое - раньше ПХП был какой-нить 4й версии и ф-ции hash там не было - админы поставили новую версию пхп (например скомпилили из cvs как предполагают разработчики пхп smile) -> появилась ф-ция hash -> у тебя в скриптах она повторно определятся. Посмотри в phpinfo чтобы понять какая версия ПХП на хостинге и function_exists для проверки существования ф-ции.

Знаешь что такое CSV версия? Это версия для разработки, НИКОГДА она на хостинги не поставится.

Onis, переписываешь скрипт под register_globals = Off, убираешь использование всех объектов нафиг и тогда решаем вопрос, иначе гадать что и как мы тут будем вечно.
PM ICQ   Вверх
Kefir
Дата 12.2.2006, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

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



Mal Hack,
1. Я знаю что такое CVS (а не CSV smile ). Не надо на меня кричать.
2. Говоря о CVS я основывался на этом (взято с php.net):
Цитата
hash
(no version information, might be only in CVS)

3. Раз в скрипт не вносились изменения - значит изменение произошли снаружи - значит проапгрейдили ПХП (что по-моему является правдой - хотя на сайте этой конторы не очень конкретно написано). Раз с этого момента ПХП стал ругаться на hash - значит в ПХП появилась такая встроенная ф-ция. На сайте ПХП пишут, что эта ф-ция скорее всего только в CVS, вот я и сделал предположение. Неужели я не логично рассуждаю?

ЗЫ Люди разные бывают, на хостинги сейчас ставят всё что попало. И админют как попало. И CVS может быть.
PM MAIL WWW Skype   Вверх
Mal Hack
Дата 12.2.2006, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


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

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



Цитата(Kefir @ 12.2.2006, 01:41 Найти цитируемый пост)
ЗЫ Люди разные бывают, на хостинги сейчас ставят всё что попало. И админют как попало. И CVS может быть.

Не может такого быть.

Я бы автора попросил сказать, как интерпретатор ругается на содержимое функции...
PM ICQ   Вверх
Kefir
Дата 12.2.2006, 01:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

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



Mal Hack, я присутствовал лично при ошибке - такую не перепутаешь:
Fatal error: Cannot redeclare phpinfo() in /var/www/hash.php on line 4
(ошибка была 100% такой же - я просто с другой ф-цией делаю, т.к. в моём ПХП нету встроенной hash)
Добавлено @ 01:55
ЗЫ А почему не может? Ничего ведь не мешает!
PM MAIL WWW Skype   Вверх
Onis
Дата 12.2.2006, 01:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Mal Hack,
Цитата(Mal Hack @ 12.2.2006, 01:44 Найти цитируемый пост)
Я бы автора попросил сказать, как интерпретатор ругается на содержимое функции...

да вроде никак не ругаеться....

я выше написал в чем проблема... проблема в массиве объектов $dir_folder, вроде...
вот функция (вырезал всё лишнее)
Код

    function read_photo_dir()
    {
        global $dir_folder;
        $main_page="index.php";
        class dir_folder
        {
            var $time;
            var $name;
        }
        if($dir=dir("photo/". $_GET['show']))
        {
            $i=0;
            include("connectToDBR.inc");
            $obj = mysql_query( "SELECT * FROM `onis_gallery` WHERE `link` = '" . mysql_escape_string( $_GET['show'] ) . "' LIMIT 1" );
            $row=mysql_fetch_object($obj);
            print("<span class='zag'><center>$row->name</center></span>");
            echo("<hr width='400'><table align='center'><tr>");
            while (false!==($file=$dir->read()))
            { 
                if($file!="." && $file!="..")
                {
                    $f->time=filemtime("photo/".$_GET['show']."/".$file);
                    $f->name=$file;
                    $dir_folder[$i]=$f;
                }
                $i++;
            }
            if(isset($dir_folder))
            {
            sort($dir_folder);
                reset($dir_folder);
            $d=1;
            for($c=0;$c<count($dir_folder);$c++)
            {
                if($d%10==0)
                    echo("<tr>");
                        
                        echo("<td><a href='$main_page?show=$_GET[show]&image=".$dir_folder[$c]->name."'><img ");
                            echo("height='40px' title='");
                        echo(" alt='$d' src='scripts/thumb2.php?id=../photo/$_GET[show]/".$dir_folder[$c]->name."'></a></td>");
                        $d++;
            }
            echo("</tr></table>");
            }
        }

Фишка в том что в $dir_folder все заносится, вроде корректно, но вот читаеться ммм... только один элемент.
PM MAIL   Вверх
Kefir
Дата 12.2.2006, 02:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

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



Onis, попробуй сделать не foreach а for.
Код

for($i = 0; $i < count($dir_folder); $i++) {
  // обрашение к элементам такое: $dir_folder[$i]->name;
}


Это сообщение отредактировал(а) Kefir - 12.2.2006, 02:03
PM MAIL WWW Skype   Вверх
Onis
Дата 12.2.2006, 02:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Kefir,
Цитата(Kefir @ 12.2.2006, 02:00 Найти цитируемый пост)
попробуй сделать не foreach а for.

smile ^^^


Вот результаты из галереи с 2 фотами

array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }


Это сообщение отредактировал(а) Onis - 12.2.2006, 02:06
PM MAIL   Вверх
Kefir
Дата 12.2.2006, 02:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


Профиль
Группа: Комодератор
Сообщений: 1878
Регистрация: 25.1.2003
Где: Tampere, Suomi

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



прямо перед циклом for сделай var_dump($dir_folder) и запости сюда результаты
PM MAIL WWW Skype   Вверх
Onis
Дата 12.2.2006, 02:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Очень интересный момент.
вывод, строки:26 и 37
Код

function read_photo_dir()
    {
        global $dir_folder;
        $main_page="index.php";
        class dir_folder
        {
            var $time;
            var $name;
        }
        if($dir=dir("photo/". $_GET['show']))
        {
            $i=0;
            include("connectToDBR.inc");
            $obj = mysql_query( "SELECT * FROM `onis_gallery` WHERE `link` = '" . mysql_escape_string( $_GET['show'] ) . "' LIMIT 1" );
            $row=mysql_fetch_object($obj);
            print("<span class='zag'><center>$row->name</center></span>");
            echo("<hr width='400'><table align='center'><tr>");
            while (false!==($file=$dir->read()))
            { 
                if($file!="." && $file!="..")
                {
                    $f->time=filemtime("photo/".$_GET['show']."/".$file);
                    $f->name=$file;
                    $dir_folder[$i]=$f;
                    print("<br>");
                    print($dir_folder[$i]->name);
                    print("<br>");
                }
                $i++;
            }
            if(isset($dir_folder))
            {
            sort($dir_folder);
                reset($dir_folder);
            $d=1;
                print("<br>");
                    var_dump($dir_folder);
                print("<br>");
            for($c=0;$c<count($dir_folder);$c++)
            {
                if($d%10==0)
                    echo("<tr>");
                        
                        echo("<td><a href='$main_page?show=$_GET[show]&image=".$dir_folder[$c]->name."'><img ");
                            echo("height='40px' title='");
                        echo(" alt='$d' src='scripts/thumb2.php?id=../photo/$_GET[show]/".$dir_folder[$c]->name."'></a></td>");
                        $d++;
            }
            echo("</tr></table>");
            }
        }
    }




denis2.jpg

denis1.jpg

array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }


где массив грохается? smile
Добавлено @ 02:16
парадокс какойто блин. smile

Это сообщение отредактировал(а) Onis - 12.2.2006, 02:16
PM MAIL   Вверх
sergejzr
Дата 12.2.2006, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



распечатывай индекс $i тоже


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Onis
Дата 12.2.2006, 02:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



http://www.php.net/ChangeLog-5.php - события которые мне все запороли smile
Добавлено @ 02:29
0 denis2.jpg 1130625299

2 denis1.jpg 1130625297

array(2) { [0]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } [1]=> object(stdClass)#3 (2) { ["time"]=> int(1130625297) ["name"]=> string(10) "denis1.jpg" } }
PM MAIL   Вверх
sergejzr
Дата 12.2.2006, 02:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

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



значит индекс 0, а потом сразу 2. Как это должно работать? smile

Замени-ка $dir_folder[$i]=$f;
на
array_push($dir_folder[$i],$f);

вот так:
Код

          while (false!==($file=$dir->read()))
            { 
                if($file!="." && $file!="..")
                {
                    $f->time=filemtime("photo/".$_GET['show']."/".$file);
                    $f->name=$file;
                    array_push($dir_folder[$i],$f);
                    print("<br>");
                    print($dir_folder[$i]->name);
                    print("<br>");
                }
                $i++;
            }



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Onis
Дата 12.2.2006, 02:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 18.6.2005
Где: Украина, Николаев

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



Warning: array_push(): First argument should be an array in z:\home\php\www\site2.6\scripts\show_photo.php on line 25

smile

Я не знаком с этой ф-ей так что исправить сам не смог smile
PM MAIL   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0626 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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