chcma .. La forma "eficiente" es usando cabeceras HTTP directamente. (header("location...) con todo lo que implica sobre tu estructura de programación (para evitar dar salida HTML/etc al navegador antes de hacer tu redireccionamiento).
Las otras formas de redireccionamiento son: javascript, meta de refresh .. y si bien hacen su taréa . sinceramente lo más eficiente y seguro es header("location ..").
Puedes usar parámetros a la hora de redireccionar con header("location" ...) tipo:
Código PHP:
header("location: pagina.php?msg=blabla");
exit;
Por ejemplo .. para EVITAR tener que mostar tus mensajes de error/exito en las mismas páginas que hacen tu proceso (mejor dicho "proceso" secuencial) y mostrarlo en la página que redireciones bajo esa condición de que si existe definida la variable $msg ..
Código PHP:
if (isset($_GET['msg'])){
echo $_GET['msg'];
}
Bàsicamente así es como deberías trabajar con tus redireccionmientos automáticos .. Usar variables de control y mostar los mensajes que correspondan en las páginas que redirecciones.
Un saludo,