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 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