|
1 / 1 / 0
Регистрация: 13.05.2012
Сообщений: 47
|
|
Перенаправление на другую страницу21.04.2020, 17:56. Показов 5962. Ответов 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
|
|
|
Супер-модератор
3965 / 2083 / 832
Регистрация: 13.03.2010
Сообщений: 6,880
|
|
| 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
|
|
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
|
|||||||
| 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
|
|||||||
|
2604 / 1508 / 689
Регистрация: 23.08.2015
Сообщений: 3,834
|
|
| 24.04.2020, 11:10 | |
|
Makintosh, Вы должны сначала обработать входящий запрос $_POST, сделать операцию авторизации и отправить заголовки до какого-либо вывода. Не нужно этого делать посреди html кода. В контексте html кода php играет роль простого шаблонизатора, где данные уже заранее подготовлены для вывода и нужно их просто подставить. В шаблоне не должно быть никакой бизнес логики, обращений к суперглобальным массивам или Базе данных. Так же вы не должны маневрировать бизнес логикой за счет подключения файлов. Это нужно делать вызовами функций.
1
|
|
| 24.04.2020, 11:10 | |
|
Помогаю со студенческими работами здесь
20
Как сделать перенаправление на главную страницу?
Одноразовая пересылка на другую страницу Автоматический переброс на другую страницу Проблемы с перенаправлением на другую страницу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|