Как мне сделать редирект в PHP? - PullRequest
1143 голосов
/ 20 апреля 2009

Можно ли перенаправить пользователя на другую страницу с помощью PHP?

Скажите, что пользователь переходит на www.example.com/page.php, и я хочу перенаправить его на www.example.com/index.php, как бы я сделал это без использования метаобновления? Возможно ли это?

Это может даже защитить мои страницы от неавторизованных пользователей.

Ответы [ 31 ]

5 голосов
/ 09 апреля 2017

Лучший способ перенаправить с помощью PHP - следующий код ...

 header("Location: /index.php");

Убедитесь, что ни один код не будет работать после

header("Location: /index.php");

Весь код должен быть выполнен перед строкой выше.

Предположим,

Дело 1:

echo "I am a web developer";
header("Location: /index.php");

Он будет правильно перенаправлен в местоположение (index.php).

Дело 2:

return $something;
header("Location: /index.php");

Приведенный выше код не будет перенаправлять в местоположение (index.php).

4 голосов
/ 21 марта 2019

для перенаправления используйте этот код

header("Location: http://www.example.com/blog");
4 голосов
/ 08 июня 2017

Да, возможно использовать PHP. Мы перенаправим на другую страницу.

Попробуйте следующий код:

<?php
    header("location:./"); // Redirect to index file
    header("location:index.php"); // Redirect to index file
    header("location:example.php");
?>
3 голосов
/ 04 января 2018

Мы можем сделать это двумя способами:

  1. Когда пользователь входит https://bskud.com/PINCODE/BIHAR/index.php, затем перенаправить на https://bskud.com/PINCODE/BIHAR.php

    По приведенному ниже коду PHP

    <?php
        header("Location: https://bskud.com/PINCODE/BIHAR.php");
        exit;
    ?>
    

    Сохранить приведенный выше код в https://bskud.com/PINCODE/BIHAR/index.php

  2. Если какое-либо условие выполняется, перенаправить на другую страницу:

    <?php
        $myVar = "bskud";
        if ($myVar == "bskud") {
    ?>
    
    <script> window.location.href="https://bskud.com";  </script>
    
    <?php
        }
        else {
            echo "<b>Check the website name again</b>";
        }
    ?>
    
2 голосов
/ 29 мая 2019

Существует два способа перенаправления

Использование PHP

<?php 

header("Location: http://example.com/page.php");
die();
?>

Использование Jquery

<script>

     $(document).ready(function(){
    location.href = 'http://example.com/page.php';
     });

</script>
2 голосов
/ 03 августа 2018

1. Используя header, встроенную функцию PHP

а) Простое перенаправление без параметров

<?php
   header('Location: index.php');
?>

б) Перенаправление с параметрами GET

<?php
      $id = 2;
      header("Location: index.php?id=$id&msg=succesfully redirect");
  ?>

2. Перенаправить с помощью JavaScript в PHP

а) Простое перенаправление без параметров

<?php
     echo "<script>location.href='index.php';</script>";
 ?>

б) Перенаправление с параметрами GET

<?php
     $id = 2;
     echo "<script>location.href='index.php?id=$id&msg=succesfully redirect';</script>";
   ?>
2 голосов
/ 20 ноября 2017

Использование:

<?php
    $url = "targetpage"
    function redirect$url(){
        if (headers_sent()) == false{
            echo '<script>window.location.href="' . $url . '";</script>';
        }
    }
?>
1 голос
/ 15 ноября 2016

Вы можете попытаться использовать функцию PHP header для перенаправления. Вы захотите установить выходной буфер, чтобы ваш браузер не выдавал предупреждение о перенаправлении на экран.

ob_start();
header("Location: " . $website);
ob_end_flush();
1 голос
/ 29 января 2018

Есть несколько способов сделать это, но если вы предпочитаете php, я бы рекомендовал использовать функцию header().

В основном

$your_target_url = “www.example.com/index.php”;
header(“Location : $your_target_url”);
exit();

Если вы хотите поднять его на ступеньку выше, лучше всего использовать его в функциях. Таким образом, вы сможете добавлять в него аутентификации и другие проверяющие элементы.

Давайте попробуем проверить уровень пользователя.

Итак, предположим, что вы сохранили уровень полномочий пользователя в сеансе под названием u_auth.

В function.php

<?php
    function authRedirect($get_auth_level,
                          $required_level,
                          $if_fail_link = “www.example.com/index.php”){
        if ($get_auth_level != $required_level){
            header(location : $if_fail_link);
            return false;
            exit();
        }
        else{
            return true;
        }
     }

     . . .

Затем вы будете вызывать функцию для каждой страницы, которую хотите аутентифицировать.

Как на page.php или любой другой странице.

<?php

    // page.php

    require “function.php”

    // Redirects to www.example.com/index.php if the
    // user isn’t authentication level 5
    authRedirect($_SESSION[‘u_auth’], 5);

    // Redirects to www.example.com/index.php if the
    // user isn’t authentication level 4
    authRedirect($_SESSION[‘u_auth’], 4);

    // Redirects to www.someotherplace.com/somepage.php if the
    // user isn’t authentication level 2
    authRedirect($_SESSION[‘u_auth’], 2, “www.someotherplace.com/somepage.php”);

    . . .

Ссылки *; 1027 *

1 голос
/ 13 октября 2017

Если вы работаете на Apache, вы также можете использовать .htaccess для перенаправления.

Redirect 301 / http://new-site.com/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...