Acabo de darme cuenta de donde esta el fallo.
Si os dais cuenta el script se mete en un bucle infinito de llamadas a si mismo, de ahi que de el error de "limite excedido".
La solucion ha sido:
Código PHP:
function mifuncion($var) {
if ( $var == 1000 ) {
header("location: " .$_SERVER['SCRIPT_URI']. "?error=1");
exit;
}
else
return 1;
}
// Fiajos que he puesto primero esta comprobacion y termino el script
// porque sino estaria llamando recursivamente a la funcion //"mifuncion" antes de comprobar si ha habido un error.
if ($_GET['error'] == 1) {
print "Imprimo esto porque ejecutamos el header y error vale 1<br>";
exit;
}
$var = 1000;
if ( mifuncion($var) == 1)
print "Bien, no ejecutamos el header sino la parte else.<br>";
Espero haberme explicado !!