En la página que validas .. no debes arrojar ninguna salida al navegador .. es decir, tus mensajes de error o exito debes presentarlos en otra página (script) .. o bien -sólo- redireccionar a la página autorizada si pasa tu validación, mostrando su mensaje de "exito" en dicha página .. no en la que valida:
Código PHP:
<?session_start();
if( isset($HTTP_SESSION_VARS['variable'] )) {
if($HTTP_SESSION_VARS['variable'] == "Miguel") {
// si todo va bien .. pasó tu autentificación .. redireccionas:
header ("Location:tabla.php?dato=".$camaras);
exit; // y terminas la ejecución del script .. ya estás cambiando a otro ..
} else {
print "Variable distinta - Acceso Denegado"; }
} else {
print "No está iniciada la variable - Acceso Denegado";
}
?>
ó .... Lo ideal: Redireccionar a una página dedicada a mostrar tus mensajes de error/exito tipo:
mensajes.php Código PHP:
<?
echo "mensaje: ".$_GET['mensaje']
?>
y tu "validar.php" sería algo tipo:
validar.php Código PHP:
<?session_start();
if( isset($HTTP_SESSION_VARS['variable'] )) {
if($HTTP_SESSION_VARS['variable'] == "Miguel") {
header ("Location:tabla.php?dato=".$camaras);
exit;
} else {
header ("Location: mensajes.php?mensaje=mensaje1";
exit;
}
} else {
header ("Location: mensajes.php?mensaje=mensaje2");
exit;
}
?>
Por lo demás .. usa preferentemente (si usas PHP 4.1.0 en adelante) el array $_SESSION .. no el "HTTP_SESSION_VARS" .. y no uses tampoco "session_register()" si es que lo usas .. usa sólo $_SESSION (más info:
www.php.net/sesssion)
Un saludo,