1.-
<script language="javascript">
function cambia() {
window.location.href = 'tal.php';
}
function espera() {
setTimeout("cambia()",5000);
}
</script>
Bueno, yo lo uso así...
<script language="javascript">
function cambia() {
window.location.href = '<?= $redirect; ?>';
}
function espera() {
setTimeout("cambia()",<?= $tiempo; ?>);
}
</script>
EDIT: En el body debes poner algo así...
<body onLoad="espera();">
De tal forma que dependiendo del resultado de la página, decido hacia donde los mando y cuanto tiempo los dejo leer el mensaje en la pantalla.
De hecho el mensaje tambien es dinamico, por ejemplo "Registro actualizado correctamente, en un momento sera direccionado" ó "No se pudo insertar el registro porque bla bla bla...", en ese ultimo caso hago más largo el tiempo, para que puedan leer la causa del error...
2.- Yo hago algo como esto...
Código PHP:
if ($registrado=="OK"){
//Aqui muestro la pagina
} else {
//Mensaje de error
echo "NO TIENES PERMISO PARA VER ESTA PAGINA";
}