Redirección a página anterior en PHP

En ocasiones queremos que una aplicación web (en concreto hablaremos de un archivo php) nos mande de vuelta, después de hacer su función, a una u otra dirección de la dependiendo de por dónde hayamos llegado allí. El caso más común sería una funcionalidad determinada a la que se llega por dos sitios distintos.

Imaginemos que podemos añadir una nueva entrada de un blog desde index.php o desde el panel de admin, y que en función de por dónde vayamos, queremos que al finalizar nos redirija al index o al panel de admin de nuevo.
Para hacer esto, lo único que habría que hacer es pasar por get o por post al archivo php una referencia de dónde estoy.

En caso de que no haya otras variables por get, bastaría con una id de referencia, por ejemplo:

nuevo-post.php?idRef=1 // si vamos desde index
nuevo-post.php?idRef=2 // si vamos desde admin

Sin embargo si hay otras variables en la dirección, y son relevantes a la hora de redirigir más adelante a la misma página, deberíamos hacerlo con la dirección completa. Para ello podríamos hacer uso de la siguiente función:
function urlActual() {
$pageURL = ‘http://’;
if ($_SERVER[«SERVER_PORT»] != «80») {
$pageURL .= $_SERVER[«SERVER_NAME»].»:».$_SERVER[«SERVER_PORT»].$_SERVER[«REQUEST_URI»];
} else {
$pageURL .= $_SERVER[«SERVER_NAME»].$_SERVER[«REQUEST_URI»];
}
return $pageURL;
}

De modo que aplicándola en el caso que nos corresponde, la dirección quedaría así:

nuevo-post.php?ref=

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.