|
1 / 1 / 0
Регистрация: 13.05.2012
Сообщений: 47
|
|
Перенаправление на другую страницу21.04.2020, 17:56. Показов 5882. Ответов 20
Метки нет (Все метки)
Здравствуйте. Помогите новичку разобраться.
На странице есть форма с текстовыми полями. В эту страницу вставлен php скрипт, который выводит текстовый результат прямо в текущей странице. Результат выводится через "echo" Но если скрипт делает редирект на другую страницу то по факту перенаправления нет. Если скрипт и html страницу разделить на 2 файла тогда все работает. Но тогда результат скрипта появляется в новой странице а не в текущей. Как сделать что бы и результат выводился в текущей странице и редирект происходил. Спасибо.
0
|
|
| 21.04.2020, 17:56 | |
|
Ответы с готовыми решениями:
20
Перенаправление на другую страницу с условиями Как отключить перенаправление на другую страницу при вызове mail.php?
|
| 22.04.2020, 16:18 | ||||||
|
Неплохо бы видеть код, но могу предположить что редирект не происходит из-за "headers already sent"
в разделе "для начинающих" есть прикерпеленная тема как победить эту беду. Также могу предположить что нужно включить опции для отображение всех нотисов и ворнингс чтобы увидеть это.
1
|
||||||
|
1 / 1 / 0
Регистрация: 13.05.2012
Сообщений: 47
|
||||||
| 23.04.2020, 11:10 [ТС] | ||||||
|
Supersumestria, Вы правы, по документации редирект должен быть до выводов заголовков. А у меня получается после.
Проблему решил через Javascript вместо редиректа написал так
0
|
||||||
|
326 / 227 / 92
Регистрация: 22.04.2017
Сообщений: 1,136
|
||||||
| 23.04.2020, 21:21 | ||||||
|
Makintosh, Не делайте так. Это очень плохой код.
0
|
||||||
|
20 / 21 / 2
Регистрация: 09.04.2020
Сообщений: 125
|
|
| 23.04.2020, 22:15 | |
|
HotReboot, осмелюсь спросить, почему вы считаете код плохим?
0
|
|
|
1 / 1 / 0
Регистрация: 13.05.2012
Сообщений: 47
|
|
| 23.04.2020, 23:09 [ТС] | |
|
0
|
|
|
Супер-модератор
3947 / 2054 / 829
Регистрация: 13.03.2010
Сообщений: 6,752
|
|
| 23.04.2020, 23:30 | |
|
Makintosh, так там написано как лучше, по мнению юзера...
0
|
|
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|
| 23.04.2020, 23:39 | |
|
редирект можно сделать 3 способами
1. header php 2. js 3. метатеги разметки php лучше здесь так как не происходит отрисовка контента но вы должны решить проблему (выставлять флаг редиректа), чтобы не попадать в циклическую перзагрузку дабы так не делать, отправляют на другую страницу, а она уже редиректит назад
0
|
|
|
326 / 227 / 92
Регистрация: 22.04.2017
Сообщений: 1,136
|
|
| 23.04.2020, 23:41 | |
|
freevoyajer, Потому что вместо того, что бы вебсерверу сразу отдать клиенту код, он отдаёт его php который тупо ничего не делает, а просто транслирует в html, отдаёт обратно веберверу и только потом отдаётся клиенту. И это всего лишь из-за пары символов.
0
|
|
|
1 / 1 / 0
Регистрация: 13.05.2012
Сообщений: 47
|
|
| 24.04.2020, 02:47 [ТС] | |
|
Что то я запутался. Объясните, пожалуйста, логику(можно без кода), как правильно делать?
В форме авторизации идет проверка логина и пароля. Если данные верные то происходит перенаправление на приватную страницу. Если данные не верные то рядом с формой ввода появляется текст что логин или пароль неверные. Если форма html и скрипт в разных файлах то все работает, но сообщение что пароль неверный появляется на новой странице. А если я скрипт пишу в том же файле где и форма, то текст появляется рядом с формой но в случае правильных данных перенаправления не происходит.
0
|
|
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,814
|
|||||||
| 24.04.2020, 03:53 | |||||||
|
Makintosh,
Если вкратце, то у вас должен быть отдельный метод/функция для авторизации. Которая либо выполняется полностью, либо кидает исключение.
0
|
|||||||
| 24.04.2020, 03:54 | ||||||
|
Вот рабочая форма с выводом текста и редиректом, без js :
0
|
||||||
|
1 / 1 / 0
Регистрация: 13.05.2012
Сообщений: 47
|
|||||||||||||||||||||
| 24.04.2020, 10:36 [ТС] | |||||||||||||||||||||
|
sad67man,
Вот прикладывают пример свой. Файл admin.php - приватная страница
Если делать редирект через javascript тогда не передаются сессии. Добавлено через 25 минут Даже если не смотреть на авторизация и проверку паролей а сделать вот так: index.php
0
|
|||||||||||||||||||||
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
||||||||
| 24.04.2020, 10:43 | ||||||||
0
|
||||||||
|
1 / 1 / 0
Регистрация: 13.05.2012
Сообщений: 47
|
|
| 24.04.2020, 10:47 [ТС] | |
|
KOPOJI,
Я и пытаюсь понять принцип как правильно. Если делать через javascript как в 3, 4 сообщении, то не происходит передачи сессии.
0
|
|
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
||||
| 24.04.2020, 10:53 | ||||
session_start()) тоже является отправкой заголовков, а вы все заголовки отправляете уже после того, как вывели часть html, ибо:
0
|
||||
|
1 / 1 / 0
Регистрация: 13.05.2012
Сообщений: 47
|
||||||
| 24.04.2020, 10:56 [ТС] | ||||||
|
KOPOJI,
Вот оказывается в чем проблема. Я думал что до редиректа нельзя выводить другие заголовки в коде php, а оказывается нельзя и html выводить. Вы и пример кода Supersumestria, навели меня кажется на правильный путь. php код вставлять в начало страницы. А в том месте html, где нужно вывести результат работы php, просто пишем
0
|
||||||
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
||||||||
| 24.04.2020, 11:01 | ||||||||
Сообщение было отмечено Makintosh как решение
Решение
Не по теме: P.S. При включенных ошибках всех уровней могут посыпаться и нотисы.. Но да ладно Добавлено через 1 минуту Добавлено через 2 минуты
1
|
||||||||
|
1 / 1 / 0
Регистрация: 13.05.2012
Сообщений: 47
|
|||||||
| 24.04.2020, 11:06 [ТС] | |||||||
Возможно тоже глупость, то там так много нюансов и подводных камней, что новичку все учесть невозможно.
0
|
|||||||
|
2603 / 1507 / 689
Регистрация: 23.08.2015
Сообщений: 3,814
|
|
| 24.04.2020, 11:10 | |
|
Makintosh, Вы должны сначала обработать входящий запрос $_POST, сделать операцию авторизации и отправить заголовки до какого-либо вывода. Не нужно этого делать посреди html кода. В контексте html кода php играет роль простого шаблонизатора, где данные уже заранее подготовлены для вывода и нужно их просто подставить. В шаблоне не должно быть никакой бизнес логики, обращений к суперглобальным массивам или Базе данных. Так же вы не должны маневрировать бизнес логикой за счет подключения файлов. Это нужно делать вызовами функций.
1
|
|
| 24.04.2020, 11:10 | |
|
Помогаю со студенческими работами здесь
20
Как сделать перенаправление на главную страницу?
Одноразовая пересылка на другую страницу Автоматический переброс на другую страницу Проблемы с перенаправлением на другую страницу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|