Volver a la página anterior en PHP

Subodh Poudel 21 diciembre 2022
Volver a la página anterior en PHP

Este artículo presentará algunos métodos para volver a la página anterior en PHP.

Utilice el encabezado de solicitud HTTP_REFERER para volver a la página anterior en PHP

El encabezado de solicitud HTTP_REFERER devuelve la URL de la página desde donde se solicitó la página actual en PHP. El encabezado permite que el servidor reconozca la ubicación desde donde los usuarios visitan la página actual. El encabezado se utiliza como índice del array $_SERVER. Podemos usar la función header() con el encabezado ubicación para redirigir la página actual a la página anterior. Deberíamos establecer la ubicación en $SERVER['HTTP_REFERER'] para volver a la página anterior.

Veamos cómo funciona el encabezado HTTP_REFERER. Por ejemplo, cree un botón en HTML. Establezca el atributo action en home.php y el atributo method en post. Guarde el archivo como index.php. En el archivo home.php, comprueba si el formulario se envía con la función isset(). Luego, use la función echo para mostrar el encabezado $_SERVER[HTTP_REFERER].

Código de ejemplo:

<form action ="home.php" method = "POST">
<button type="submit" name="button"> Submit</button>
</form>
if(isset($_POST['button'])){
 echo $_SERVER[HTTP_REFERER]; 
}

Producción :

http://localhost/index.php

Aquí, creamos el formulario en el archivo index.php. Luego, el formulario se envía al archivo home.php. Significa que la página home.php fue solicitada desde la página index.php. Por lo tanto, la página index.php es el referente. La sección de salida anterior muestra que HTTP_REFERER devuelve la URL http://localhost/index.php, la referencia.

Nuestro objetivo es redirigir la página actual home.php a la página anterior index.php.

Por ejemplo, en el archivo home.php, cree una variable $message para almacenar el mensaje que se mostrará después de que ocurra la redirección. Usa el urlencode() para escribir el mensaje en su parámetro. A continuación, escribe la función header() para establecer la ubicación de la redirección. Concatene $_SERVER[HTTP_REFERER] y "?message=".$message y establezca el valor para location en la función header(). A continuación, llama a la función die. En el archivo index.php, imprime la variable $_GET['message'] justo debajo del formulario usando la función echo.

Aquí, usamos la función urlencode() para escribir el mensaje porque el mensaje es una cadena que se consulta en la URL. El índice message en el array $_GET es la variable que usamos en la URL que hace referencia a la página anterior en la función header().

Cuando hacemos clic en el botón en la página index.php, el formulario se envía a home.php y se redirigirá a la página index.php, la página anterior.

De esta forma, podemos usar la función header() y el encabezado HTTP_REFERER para devolver la página actual a la página anterior en PHP.

Código de ejemplo:

//index.php
<form action ="home.php" method = "POST">
<button type="submit" name="button"> Submit</button>
</form>

<?php
if(isset($_GET['message'])){
 echo $_GET['message'];
}
?>
//home.php
if(isset($_POST['button'])){
$message = urlencode("After clicking the button, the form will submit to home.php. When, the page home.php loads, the previous page index.php is redirected. ");
header("Location:".$_SERVER[HTTP_REFERER]."?message=".$message);
die;
}
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn