Личный раздел - Отправка форм ведет не туда.

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Barh
phpBB 1.0.0
Сообщения: 6
Стаж: 13 лет 8 месяцев
Благодарил (а): 2 раза

Личный раздел - Отправка форм ведет не туда.

Сообщение Barh »

Добрый день, форумчане.

Например, при отправке формы в разделе "Личный раздел" => "Личные данные" меня перенаправляет на главную без каких-либо изменений.

Смотрим путь у формы:
<form action="./?i=profile&mode=profile_info" ... >

Естественно это не верный путь.

Для сравнения на этом сайте путь формы выглядит так:
<form action="http://www.phpbbguru.net/community/ucp. ... ofile_info" ... >

Как исправить пути в формах на правильные?
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Личный раздел - Отправка форм ведет не туда.

Сообщение Пчелкин »

Настроить правильно куки форума...
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Barh
phpBB 1.0.0
Сообщения: 6
Стаж: 13 лет 8 месяцев
Благодарил (а): 2 раза

Re: Личный раздел - Отправка форм ведет не туда.

Сообщение Barh »

Куки настроены верно.
Но для верности, всё еще раз проверил и даже попробовал несколько вариаций. После каждого раза очищал КЕШ и перелогинивался на форуме.
Результат тот же.

Но я не думаю, что дело в куках. Ведь из пути пропадает и название файла ucp.php, как Куки могут его вернуть?

Пробовал переустанавливать движок форума, абсолютно чистый движок ведёт себя так же..
Аватара пользователя
Пчелкин
phpBB 3.3.0
Сообщения: 11361
Стаж: 16 лет 8 месяцев
Благодарил (а): 1832 раза
Поблагодарили: 1358 раз

Re: Личный раздел - Отправка форм ведет не туда.

Сообщение Пчелкин »

Barh писал(а):Куки настроены верно.
Как?
NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
Barh
phpBB 1.0.0
Сообщения: 6
Стаж: 13 лет 8 месяцев
Благодарил (а): 2 раза

Re: Личный раздел - Отправка форм ведет не туда.

Сообщение Barh »

Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Личный раздел - Отправка форм ведет не туда.

Сообщение rxu »

Barh
Моды какие-либо установлены? Сам по себе скрипт ucp.php из урла исчезнуть не должен.
Изображение
Barh
phpBB 1.0.0
Сообщения: 6
Стаж: 13 лет 8 месяцев
Благодарил (а): 2 раза

Re: Личный раздел - Отправка форм ведет не туда.

Сообщение Barh »

В общем разобрался с этой проблемой.
Модов никаких не установлено.

Но я нашел довольно странный, по логике, программный код в файле \includes\session.php:

Код: Выделить всё

$script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF'); 
В этом месте всё понятно, записываем в переменную значение среды PHP_SELF. У меня на оно выглядит как: "исполняемый_файл.php/". Обратите внимание, что стоит в конце строки слеш.

Далее по коду идет дальнейший сбор необходимой скрипту информации.

Код: Выделить всё

// basenamed page name (for example: index.php)
 $page_name = (substr($script_name, -1, 1) == '/') ? '' : basename($script_name);
 $page_name = urlencode(htmlspecialchars($page_name));
Здесь скрипт вычленяет только название файла. Но, обратите внимание, на то что условие выглядит так: если последний символ у строки равен слешу, у меня так и есть, то просто очищаем строчку, иначе, если на конце строки не слеш, то с помощью функции basename() вычленяем название файла.
Далее идет его обработка.

Исправить этот код можно в любом месте, но я сменил в самом начале:

Код: Выделить всё

// $script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
 $script_name = (!empty($_SERVER['SCRIPT_NAME]'])) ? $_SERVER['SCRIPT_NAME'] : getenv('SCRIPT_NAME');
Закомментировал исходную строчку на всякий случай. В моей переменной среде есть значение SCRIPT_NAME, там примерно тоже самое, что в PHP_SELF, но без слеша в конце. Конечно можно было бы изменить и последнее условие, например так:

Код: Выделить всё

$page_name =  basename($script_name);
Проблема теперь разрешена. Но мне не очень нравится редактировать исходные файлы.
Поэтому такой вопрос: У вас тоже в PHP_SELF слеш в конце строки? И если, да, то какой код в session.php . Ведь видно по логике, что здесь явно допущена логическая ошибка.
Аватара пользователя
Pazh
Former team member
Сообщения: 2317
Стаж: 16 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 506 раз

Re: Личный раздел - Отправка форм ведет не туда.

Сообщение Pazh »

вот из админки Сведения о PHP

Код: Выделить всё

_SERVER["PHP_SELF"]	/adm/index.php
_SERVER["SCRIPT_NAME"]	/adm/index.php
все верно. Косяк у тебя, а не в логике
http://www.php.net/manual/ru/reserved.v ... server.php
Помощь в ЛС/email только за WM или ЮMoney
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 17272
Стаж: 20 лет 4 месяца
Откуда: Красноярск
Благодарил (а): 632 раза
Поблагодарили: 2412 раз

Re: Личный раздел - Отправка форм ведет не туда.

Сообщение rxu »

Barh писал(а):У меня на оно выглядит как: "исполняемый_файл.php/". Обратите внимание, что стоит в конце строки слеш.
Вопрос - почему слэш в конце.
Изображение
Barh
phpBB 1.0.0
Сообщения: 6
Стаж: 13 лет 8 месяцев
Благодарил (а): 2 раза

Re: Личный раздел - Отправка форм ведет не туда.

Сообщение Barh »

В корне сайта .htaccess, срабатывало эта команда при определенном условии:

Код: Выделить всё

#RewriteRule ^(.*)$ $1/ [L]
Что и давало слеш в конце, ставило его принудительно. Условие подкорректировал.

Тему, наверное, можно закрывать, т.к. всё решено.
Спасибо всем кто помог в решении проблемы!)
И отдельно phpBB за то, что указал на ошибку в настройке .htaccess.

Вернуться в «Поддержка phpBB 3.0.х»