Не работает переход по ссылкам в админ-части сайта

Тема в разделе "PHP", создана пользователем mydobermann, 21 июл 2010.

Статус темы:
Закрыта.
Модераторы: latteo
  1. mydobermann

    mydobermann Создатель

    Регистр.:
    1 дек 2007
    Сообщения:
    32
    Симпатии:
    2
    Заранее прошу прощения, если не в тот раздел - но, как мне кажется, этот раздел наиболее приближенный к теме моего вопроса.

    Вступление.
    Сайт несколько лет назад делала некая студия. Сейчас возникла необходимость переезда на новый сервер. Все файлы были перетянуты, все подключено на новом месте, но в админке сайта наблюдается "косяк":

    При нажатии на любой пункт меню - ссылка в строке браузера меняется, но фактически страница перезагружается на главную админки, т.е. переход по меню не происходит - мы как были на странице "приветствия", так и остались:

    Пример - нажали на ссылку "редактировать разделы Новостей", ссылка в строке браузера поменялась на ...config=news, но фактически опять открылась страница "главная":

    Перейти по ссылке

    На старом сервере при нажатии на ссылку ... открывалась нужная страница:

    Перейти по ссылке

    Ребят, помогите, не могу рамы собрать.. куда копать? ..

    ps. в логах журнала ошибок сервера - пусто.
     
  2. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Так видно только генерируемый html, а почему он генерируется именно так, не видать. Поэтому сложно сказать в чем косяк. Глянуть бы /admin/index.php на предмет секции
    PHP:
    if(isset($_GET['config']))
    или
    PHP:
    if($_GET['config']=='news')
    или еще что-то вроде того.
     
    mydobermann нравится это.
  3. mydobermann

    mydobermann Создатель

    Регистр.:
    1 дек 2007
    Сообщения:
    32
    Симпатии:
    2
    вот он:
    Код:
    <?php
    error_reporting(0);
    $folder_programm="programm";
    $folder_resource="resource";
    $folder_config=$folder_resource."/config";
    include($folder_programm."/blockz.php");
    $mysql=new MySQL;
    $mysql->start();
    $admin_block=new AdminBlock;
    print $admin_block->start();
    $mysql->stop();
    ?>
    Надеюсь на Вашу помощь! :)
     
  4. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Всё несколько запутаннее... :)
    А почему не обратиться к той самой "некой студии"? Если не вариант, тогда нужно нанимать программера, чтоб разбирался. Заочно врядли возможно помочь в вашей проблеме.
     
  5. mydobermann

    mydobermann Создатель

    Регистр.:
    1 дек 2007
    Сообщения:
    32
    Симпатии:
    2
    Жаль. Больше я никаких данных предоставить не смогу? :(
    На одном дружеском форуме предположили вариант - Перейти по ссылке, однако мне мануал мало чем помогает в решении вопроса :(
     
  6. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    А что у вас за новый сервер? Выделенный(dedicated), VPS/VDS или виртуальный хостинг? Если первый или второй вариант, тогда очень просто проверить догадку с "дружественного форума" :) В файле php.ini установите register_globals в значение on:
    PHP:
     register_globals On
    . И посмотрите оживет ли админка. Если же вариант хостинга у вас третий, тогда можете попробовать создать файл(если его еще нет) с названием .htaccess в корневой папке сайта и запишите в него:
    PHP:
    php_flag register_globals on
    Если то, что описано выше помогло, тогда прошу ознакомиться со Перейти по ссылке. После прочтения рекомендую все таки избавиться от этого геморроя :)

    Для данного случая('редактировать разделы Новостей') нужно искать место использования переменной $config, конкретнее - сравнение на равенство или неравенство со строкой 'news'. Если будет найдено, тогда необходимо подобные переменные заменить на $_GET['config'].

    Еще вариант напоследок: попробуйте в /admin/index.php поменять
    PHP:
    error_reporting(0);
    на
    PHP:
    error_reporting (E_ALL);
    и посмотреть не выдаст ли интерпретатор ошибку.
     
    mydobermann нравится это.
  7. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    PHP:
    <?php
    error_reporting
    (0);

    extract ($_GET); // Here is the change

    $folder_programm="programm";
    $folder_resource="resource";
    $folder_config=$folder_resource."/config";
    include(
    $folder_programm."/blockz.php");
    $mysql=new MySQL;
    $mysql->start();
    $admin_block=new AdminBlock;
    print 
    $admin_block->start();
    $mysql->stop();
    ?>
     
    mydobermann нравится это.
  8. mydobermann

    mydobermann Создатель

    Регистр.:
    1 дек 2007
    Сообщения:
    32
    Симпатии:
    2
    gres_18
    да, мы на ВПСе. Попробовал register_globals = On - заработало, в таком случае произвел следующие изменения, которые предложил diavolic:
    Помогло!!! :) СПАСИБО!
    Больше никаких дополнительных изменений производить не нужно?
     
  9. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Ну, я бы все же перевел скрипт на
    Код:
    register_globals = Off
    . Но для этого нужно иметь определенный уровень подготовки. Проще говоря, вам придется нанять человека и платить ему деньги. Следовательно - работает и ладушки. Успехофф! ;)
     
  10. mydobermann

    mydobermann Создатель

    Регистр.:
    1 дек 2007
    Сообщения:
    32
    Симпатии:
    2
    gres_18
    это все делается именно так, как писали Вы выше (ссылка на статью)?
    В случае как сейчас - чем это чревато?
     
Статус темы:
Закрыта.