Личный раздел - Отправка форм ведет не туда.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Barh
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 2 раза
Личный раздел - Отправка форм ведет не туда.
Добрый день, форумчане.
Например, при отправке формы в разделе "Личный раздел" => "Личные данные" меня перенаправляет на главную без каких-либо изменений.
Смотрим путь у формы:
<form action="./?i=profile&mode=profile_info" ... >
Естественно это не верный путь.
Для сравнения на этом сайте путь формы выглядит так:
<form action="http://www.phpbbguru.net/community/ucp. ... ofile_info" ... >
Как исправить пути в формах на правильные?
Например, при отправке формы в разделе "Личный раздел" => "Личные данные" меня перенаправляет на главную без каких-либо изменений.
Смотрим путь у формы:
<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: Личный раздел - Отправка форм ведет не туда.
Куки настроены верно.
Но для верности, всё еще раз проверил и даже попробовал несколько вариаций. После каждого раза очищал КЕШ и перелогинивался на форуме.
Результат тот же.
Но я не думаю, что дело в куках. Ведь из пути пропадает и название файла ucp.php, как Куки могут его вернуть?
Пробовал переустанавливать движок форума, абсолютно чистый движок ведёт себя так же..
Но для верности, всё еще раз проверил и даже попробовал несколько вариаций. После каждого раза очищал КЕШ и перелогинивался на форуме.
Результат тот же.
Но я не думаю, что дело в куках. Ведь из пути пропадает и название файла 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 раза
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: Личный раздел - Отправка форм ведет не туда.
Barh
Моды какие-либо установлены? Сам по себе скрипт ucp.php из урла исчезнуть не должен.
Моды какие-либо установлены? Сам по себе скрипт ucp.php из урла исчезнуть не должен.
-
Barh
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 2 раза
Re: Личный раздел - Отправка форм ведет не туда.
В общем разобрался с этой проблемой.
Модов никаких не установлено.
Но я нашел довольно странный, по логике, программный код в файле \includes\session.php:
В этом месте всё понятно, записываем в переменную значение среды PHP_SELF. У меня на оно выглядит как: "исполняемый_файл.php/". Обратите внимание, что стоит в конце строки слеш.
Далее по коду идет дальнейший сбор необходимой скрипту информации.
Здесь скрипт вычленяет только название файла. Но, обратите внимание, на то что условие выглядит так: если последний символ у строки равен слешу, у меня так и есть, то просто очищаем строчку, иначе, если на конце строки не слеш, то с помощью функции basename() вычленяем название файла.
Далее идет его обработка.
Исправить этот код можно в любом месте, но я сменил в самом начале:
Закомментировал исходную строчку на всякий случай. В моей переменной среде есть значение SCRIPT_NAME, там примерно тоже самое, что в PHP_SELF, но без слеша в конце. Конечно можно было бы изменить и последнее условие, например так:
Проблема теперь разрешена. Но мне не очень нравится редактировать исходные файлы.
Поэтому такой вопрос: У вас тоже в PHP_SELF слеш в конце строки? И если, да, то какой код в session.php . Ведь видно по логике, что здесь явно допущена логическая ошибка.
Модов никаких не установлено.
Но я нашел довольно странный, по логике, программный код в файле \includes\session.php:
Код: Выделить всё
$script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF'); Далее по коду идет дальнейший сбор необходимой скрипту информации.
Код: Выделить всё
// basenamed page name (for example: index.php)
$page_name = (substr($script_name, -1, 1) == '/') ? '' : basename($script_name);
$page_name = urlencode(htmlspecialchars($page_name));Далее идет его обработка.
Исправить этот код можно в любом месте, но я сменил в самом начале:
Код: Выделить всё
// $script_name = (!empty($_SERVER['PHP_SELF'])) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
$script_name = (!empty($_SERVER['SCRIPT_NAME]'])) ? $_SERVER['SCRIPT_NAME'] : getenv('SCRIPT_NAME');Код: Выделить всё
$page_name = basename($script_name);Поэтому такой вопрос: У вас тоже в PHP_SELF слеш в конце строки? И если, да, то какой код в session.php . Ведь видно по логике, что здесь явно допущена логическая ошибка.
-
Pazh
- Former team member
- Сообщения: 2317
- Стаж: 16 лет 10 месяцев
- Благодарил (а): 42 раза
- Поблагодарили: 506 раз
Re: Личный раздел - Отправка форм ведет не туда.
вот из админки Сведения о PHP все верно. Косяк у тебя, а не в логике
http://www.php.net/manual/ru/reserved.v ... server.php
Код: Выделить всё
_SERVER["PHP_SELF"] /adm/index.php
_SERVER["SCRIPT_NAME"] /adm/index.phphttp://www.php.net/manual/ru/reserved.v ... server.php
Помощь в ЛС/email только за WM или ЮMoney
-
rxu
- phpBB Guru

- Сообщения: 17272
- Стаж: 20 лет 4 месяца
- Откуда: Красноярск
- Благодарил (а): 632 раза
- Поблагодарили: 2412 раз
Re: Личный раздел - Отправка форм ведет не туда.
Вопрос - почему слэш в конце.Barh писал(а):У меня на оно выглядит как: "исполняемый_файл.php/". Обратите внимание, что стоит в конце строки слеш.
-
Barh
- phpBB 1.0.0
- Сообщения: 6
- Стаж: 13 лет 8 месяцев
- Благодарил (а): 2 раза
Re: Личный раздел - Отправка форм ведет не туда.
В корне сайта .htaccess, срабатывало эта команда при определенном условии:
Что и давало слеш в конце, ставило его принудительно. Условие подкорректировал.
Тему, наверное, можно закрывать, т.к. всё решено.
Спасибо всем кто помог в решении проблемы!)
И отдельно phpBB за то, что указал на ошибку в настройке .htaccess.
Код: Выделить всё
#RewriteRule ^(.*)$ $1/ [L]Тему, наверное, можно закрывать, т.к. всё решено.
Спасибо всем кто помог в решении проблемы!)
И отдельно phpBB за то, что указал на ошибку в настройке .htaccess.

