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

Поиск:

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


Бывалый
*


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

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



Собственно:

http://onis.jino-net.ru/?show=amrod

И так со всем галереями. Скрипт "хз по какому принципу" выбирает картинку и сует ее привьюхи вместо других фот.
Через фтп смотрел, все фоты на месте а показывает только одну smile((

Но фишка в том что скрипт туп как "система ниппель". Просто читает директорию, заносит данные картинок в массив, сортирует его по дате и выводит их в виде привьюх.

конечно срипт со временем усложнился (открытие первой картинки при входе в галерею, подсветка выбранной фоты и т.д.)

А самое главное локально всё пашет!!!

Код

<?php
    function read_photo_dir()
    {
        global $dir_folder;
        global $show;
        global $image;
        $main_page="index.php";
        class dir_folder
        {
            var $time;
            var $name;
        }
        if($dir=dir("photo/".$show))
        {
            $i=0;
            include("connectToDBR.inc");
            $obj = mysql_query( "SELECT * FROM `onis_gallery` WHERE `link` = '$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/".$show."/".$file);
                    $f->name=$file;
                    $dir_folder[$i]=$f;
                }
                $i++;
            }
            if(isset($dir_folder))
            {
            sort($dir_folder);
                reset($dir_folder);
            $d=1;
            foreach ($dir_folder as $key)
            {
                if($d%10==0)
                        echo("<tr>");
                        echo("<td><a href='$main_page?show=$show&image=$key->name'><img ");
                        if(isset($image))
                        {
                            if($image==$key->name)
                                echo("border='1'");
                            if($image!=$key->name)
                                echo("border='0'");
                        }
                        else
                        {
                            if($dir_folder[0]->name==$key->name)
                                echo("border='1'");
                            if($dir_folder[0]->name!=$key->name)
                                echo("border='0'");
                        }
                            echo("height='40px' title='");
                
                        global $show;
                        include("connectToDBR.inc");
                        $name="../photo/$show/$key->name";
                        $obj=mysql_query("SELECT * FROM onis_comment WHERE `name` = '".mysql_escape_string($name)."' ORDER BY `id` DESC LIMIT 1");
                        $row=mysql_fetch_object($obj);
                            print("№$d: $row->text  |Автор:$row->author [$row->date]");
                        mysql_close($link);
                        echo("' alt='$d' src='scripts/thumb2.php?id=../photo/$show/$key->name'></a></td>");
                    
                        $d++;
            }
            echo("</tr></table>");
            }
        }
    }
    read_photo_dir();
    if(isset($image))
    {
        $size=getimagesize("photo/$show/$image");
        $width=$size[0];
        if($size[0]>428)
            $width=428;
    
        
        $main_page="index.php";
        
        if(isset($image))
        {
            echo("<center><a href='photo/$show/$image' target='_blank'><img width='$width' src='scripts/thumb.php?id=../photo/$show/$image' border='0'></a></center>");
            include("connectToDBR.inc");
            $name="../photo/$show/$image";
            $obj = mysql_query( "SELECT * FROM `onis_description` WHERE `name` = '$name' LIMIT 1" );
            $row=mysql_fetch_object($obj);
            echo("<hr width='400'>");
            echo("$row->text");
            echo("<hr width='400'>");
            show_coments($name);
                include("comments.php");
                write_comments_form();
        }
    }
    if(!isset($image))
    {
        
        global $new;
        $new=$dir_folder[0]->name;
        $size=getimagesize("photo/$show/$new");
        $width=$size[0];
        if($size[0]>428)
            $width=428;
        if(isset($new))
            {
                echo("<center><a href='photo/$show/$new' target='_blank'><img width='$width' src='scripts/thumb.php?id=../photo/$show/$new' border='0'></a></center>");
                include("connectToDBR.inc");
            $name="../photo/$show/$new";
            $obj = mysql_query( "SELECT * FROM `onis_description` WHERE `name` = '$name' LIMIT 1" );
            $row=mysql_fetch_object($obj);
                echo("<hr width='400'>");
                    echo("$row->text");
            }
                echo("<hr width='400'>");
                show_coments($name);
                include("comments.php");
                write_comments_form();
    }
    include("connectToDBR.inc");
            $obj = mysql_query( "SELECT * FROM `onis_gallery` WHERE `link` = '$show' LIMIT 1" );
            $row=mysql_fetch_object($obj);
    print("<table border='0' align='center'><tr><td><span class='style26 style8'>$row->sol</span></td></tr></table>");
    echo("<hr width='400'>");
    
?>


В общем мне нужен вывод, это у меня проблемы или у хоста (просто все работало до поры до времени а потом БАЦ и не работает).

Если у меня проблемы то очень прошу показать направление в котором нужно их искать.
PM MAIL   Вверх
sergejzr
Дата 11.2.2006, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



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


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


«Hakuna Matata»
***


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

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



Гм... если ты думаешь что твой скрипт поймут все желающие и без твоей помощи - ошибаешься. Уважь нас, хотя бы общие комментарии проставь, а то разбираться в коде твоём не просто.
PM MAIL WWW Skype   Вверх
Kefir
Дата 11.2.2006, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


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

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



Цитата

просто все работало до поры до времени а потом БАЦ и не работает

"Так не бывает..." (с) Трус
А вообще, очень хочется верить, что код будет к тому же и отформатирован нормально (я имею в виду табуляцию).
По теме - ты уверен, что global $var получает значение $_GET['var']? Я вот не очень (= не знаю). Попробуй все POST/GET переменные получать именно из $_GET/$_POST.
Добавлено @ 21:13
Цитата

ты уверен, что global $var получает значение $_GET['var']? Я вот не очень (= не знаю)

Только что проверил скриптом
Код
<?php
    global $a;
    echo $a;
?>

Не работает при register_globals = Off. Так я и думал. Пользуйся superglobals - $_GET/$_POST (причём всегда!). На мой взгляд именно в этом и есть проблема.
PM MAIL WWW Skype   Вверх
Onis
Дата 11.2.2006, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Kefir,
Цитата(Kefir @ 11.2.2006, 20:53 Найти цитируемый пост)
Гм... если ты думаешь что твой скрипт поймут все желающие и без твоей помощи - ошибаешься. Уважь нас, хотя бы общие комментарии проставь, а то разбираться в коде твоём не просто


ну... чего вы хотите от провинциального школьника выучившего php по "php за 24 часа". smile

Цитата(Kefir @ 11.2.2006, 21:09 Найти цитируемый пост)
Не работает при register_globals = Off. Так я и думал. Пользуйся superglobals - $_GET/$_POST (причём всегда!). На мой взгляд именно в этом и есть проблема.

Можно пояснить?
для такого способа мне нужно по другому объявлять переменные? или просто теже переменные только вызывать таким методом?
Добавлено @ 21:52
sergej.z,
Цитата(sergej.z @ 11.2.2006, 20:11 Найти цитируемый пост)
Модератор: Название темы должно отражать ее суть!

извините, но я дейстивтельно не могу найти баг.
Добавлено @ 21:54
Цитата(Kefir @ 11.2.2006, 21:09 Найти цитируемый пост)
"Так не бывает..." (с) Трус

но это действительно так. Я несколько дней не посещал сайт и вот те раз... smile
хотя локально все пашет.
PM MAIL   Вверх
Kefir
Дата 11.2.2006, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


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

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



По поводу register?globals было очень много написано на этом форуме - ищи поиском. Доки смотри тут.
В кратце это так - если у тебя есть скрипт x.php и к нему обращаются так: x.php?name=Vasja - то Vasja бедут в переменной $_GET['name']. Причём всегда. Если в ПХП.ини написано register_globals = On, то Vasja будет ещё и в $name. На подавляющем большинстве хостингов эта опция отключена.
PM MAIL WWW Skype   Вверх
sergejzr
Дата 11.2.2006, 22:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



Цитата(Onis @ 11.2.2006, 19:51 Найти цитируемый пост)
извините, но я дейстивтельно не могу найти баг.

Это не мешает описать суть в заголовке. То что не можете найти баг - это ваша проблема, а не её суть.

Назвать можно было например "не считываются файлы из директории".

Таковы правила форума!
Добавлено @ 22:22
Вот ваши темы:
Нужна помощь
..Вопрос..., ... header ??? ...
... никак не могу решить ..., несколько нюансов
еще два вопросов, ... на счет форм и include() ...

А теперь поставьте себя на место модератора, который должен просматривать десятки тем и ориентируется по заголовкам. Затем попытайтесь определить, какой вопрос о чём.

Вынужден вынести устное предупреждение.


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


Бывалый
*


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

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



sergej.z,
извините, больше не повторится.


На счет моей проблемы.

рабоать так-же перестала админка.

http://onis.jino-net.ru/scripts/admin.php

файл qwe.php этот скрипт я взял с вашего форума, он для регистрации и авторизации юзеров.

вот строка на которую ругается.

Код

 function hash( $user , $user_agent , $user_ip , $tm )
  {  return md5( $user ) . md5( $user_agent ) . md5( $user_ip ) . md5( $tm );  } //больная строка

хочу напомнить что два дня назад все работало...
может это все таки глюк хоста?
PM MAIL   Вверх
Kefir
Дата 11.2.2006, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


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

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



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

Решение простое - переименуй свою ф-цию hash, например, в my_hash и используй её.
PM MAIL WWW Skype   Вверх
Onis
Дата 11.2.2006, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Kefir,

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


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

Скорей всего так и есть, просто сервак проапгрейдили. Вот только я же не спец я вообще в этих функциях ноль. Мож поможете в приведенном мной скрипте выше найти подобные ф-ии ? Хотя бы в блокноте с помощью search.

Я конечно понимаю что я просто сажусь на шею, но мне кроме вас некуда идти smile
PM MAIL   Вверх
Kefir
Дата 11.2.2006, 23:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


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

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



Onis, ошибка первого скрипта не в использовании уже определённых ф-ций, а в том, что ты используешь переменные типа global show; Я уже говорил как исправить эти ошибки - использовать суперглобальные переменные. Скрипта я досканально не знаю и не буду заниматся его редактированием. Когда-то всем приходится читать доки - для тебя это время настало сейчас smile
PM MAIL WWW Skype   Вверх
Onis
Дата 12.2.2006, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



register_globals = On
все равно переписал скрипт, но глюк остался... smile
самый прикол что ошибок сервак не выводит. smile(
PM MAIL   Вверх
Kefir
Дата 12.2.2006, 00:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


«Hakuna Matata»
***


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

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



последи за переменными в скрипте - посмотри что содержится в $image, $dir_folder и т.д. пользуйся var_dump / print_r
PM MAIL WWW Skype   Вверх
sergejzr
Дата 12.2.2006, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


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

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



первым делом добавь строку

error_reporting(E_ALL);

в начало файла(сразу после <?), а затем, если не разберёшься сам, выложишь здесь распечатку.


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


Бывалый
*


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

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



sergej.z,
Notice: Trying to get property of non-object in /home/users/o/onis/docs/scripts/show_last_comment.php on line 13
Но это к основной проблеме не относиться. Вообще другой скрипт, я это сам исправлю. smile(

А вот на счет show_photo.php ноль ошибок.

http://onis.jino-net.ru/?show=amrod




Это сообщение отредактировал(а) Onis - 12.2.2006, 00:53
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.0611 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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