Итак, я сделал простой вход в PHP, но когда я попытался перенаправить так:
казалось, что он ничего не сделал, но после того, как я обновил страницу, я вошел в систему.
После того, как я изменил свой код на это:
Может ли кто-нибудь объяснить это мне?
Ps. Извините за мой плохой английский
Решение
Заголовок отправляется в браузер, поэтому это не маневр внутреннего сервера. И поскольку он не является внутренним перенаправлением, вы не имеете дело с внутренними путями. Когда вы используете DOCUMENT_ROOT вы получите внутренний путь к серверу в каталоге, где находятся ваши файлы.
Если вы хотите сослаться на корень сайта как URL, просто используйте / ,
Ваш .. работал, потому что вы, вероятно, были в подкаталоге, и .. был переведен в родительский каталог, где admin является.
Другие решения
возвращает путь как /var/www/html/yourfolder/ , но вы должны перенаправить на website.com/yourfolder/ или же localhost/yourfolder/ ,
следовательно, это не сработает.
Вы пытались напечатать значение $ path?
значение $ path относительно фактического местоположения файла
например $path = ‘/c/inetpub/sites/example/main/’
Вы, вероятно, хотели что-то вроде ‘/c/inetpub/sites/example/’ или же ‘/c/inetpub/sites/example/main/..’
Послать каждый может. А вот правильно перенаправить – это целое искусство. Но еще труднее дается перенаправление пользователей на нужный путь в интернете. Для этого лучше всего подходит редирект на php .
Что за редирект?
В веб-программировании возникают ситуации, когда нужно перенаправить пользователя, переходящего по ссылке, на другой адрес. Конечно, на первый взгляд реализация такого перенаправления выглядит немного « незаконной ». На практике же, такой редирект востребован не только среди злоумышленников, но и среди честных вебмастеров:
В каких случаях может потребоваться редирект:
- Когда происходит замена движка сайта – в результате этого меняется архитектура всего ресурса. После чего возникает проблема, как сделать редирект;
- При перекройке структуры ресурса – происходит добавление, удаление или перенос целых разделов или одного материала. Пока происходит этот процесс, временно можно организовать перенаправление пользователя на нужный раздел;
- Если сайт недавно сменил свое доменное имя – после смены имени домена старое еще некоторое время будет фигурировать в поисковой выдаче. В этом случае редирект пользователя на новый домен будет реализован поисковой системой автоматически;
- В процессе авторизации – как правило, на большом сайте есть две группы пользователей: обычные посетители и администраторы ресурса. В таком случае имеет смысл реализовать редирект каждого пользователя согласно его правам и роли. После авторизации администратор или модераторы сайта попадают в административную часть ресурса, а посетители – на пользовательскую часть ресурса.
Особенности редиректа на php
В отличие от других языков php обладает некоторыми преимуществами в реализации редиректа:
- Php является серверным языком программирования. Поэтому перенаправление будет происходить не в html коде страниц, отображаемых в браузере, а в скрипте, размещенном на сервере;
- Редирект на php может быть реализован несколькими способами. Что во многом расширяет его применение;
- Благодаря обработке данных на сервере перенаправление, реализованное с помощью php, менее восприимчиво к действию фильтров поисковых систем.
Для редиректа в php используется функция header() . Она применяется для отправки заголовка http . Ее синтаксис:
Принимаемые функцией аргументы:

- bool $replace – является необязательным атрибутом типа bool . Отвечает за переопределение предыдущего заголовка. Если будет задано true , то предыдущий заголовок или заголовки одного типа будут заменены. Если в аргументе задано false , то перезапись заголовка не состоится. По умолчанию, задано значение true ;
- http_response_code – аргумент принудительно устанавливает код ответа HTTP . Установка кода пройдет успешно при условии, что аргумент string не будет пустым.
При использовании функции header() для редиректа внешних ссылок большое значение имеет место расположения ее вызова. В коде он должен находиться выше всех тегов html :

Применение редиректа header()
Для демонстрации действия функции на локальном сервере нужно создать два файла. Один из них назовем redirect.php , а другой redirect2.php . Внутри первого разместим вызов функции в следующем формате:
В другом файле помещаем строку:

Еще несколько практических примеров использования редиректа на php :
- Принудительная передача кода состояния http – при использовании первого аргумента функции header() типа « location » по умолчанию в заголовок передается код состояния « 302 » ( временно перемещен ). Это может стать проблемой при переносе ресурса на другое доменное имя. В поисковиках такое временное перенаправление может затянуться. Ведь поисковик постоянно анализирует код состояния. А в нем записано « временно перемещен ». Пример принудительной перезаписи кода состояния « 302 » на « 301 » ( постоянно перемещен ):
Также перезапись возможна в два этапа. Первая строка производит перезапись кода состояния, а вторая перенаправляет на новый адрес:
- Использование редиректа внешних ссылок для перенаправления в зависимости от роли пользователя. Роль определяется во время процедуры аутентификации. Значение для обработки записывается в переменную $who :
- Упрощенный практический пример реализации редиректа внешней ссылки – клик по ссылке ведет на страницу php . Отсюда пользователя через 5 секунд перекидывает на Рамблер. Код html :
Код файла redirect3.php :
Ну, вот мы и научились основам редиректа на php. Теперь можно смело браться за перенаправление пользователей в нужное русло. Главное не ошибиться в направлении, а то приведете всех своих юзеров на чужой сайт…
header(‘Location: index.php’); не работает.
(Отправка всех полей формы на сервер с помощью ajax jQuery).
Как исправить?
Если есть ошибка при заполнении, то нормально работает
А если успех бывает вот так:

Как можно сделать нормально? Заранее спасибо!