Un header() .. de PHP envia cabeceras HTTP al navegador (en tu caso de redirección) ..
Si te fijas en la lógica de tu script .. NO tiene sentido poner ese HTML:
Código PHP:
echo "<html>\n";
echo "<head>\n";
echo "<title>Inicio de sesion</title>\n";
echo "</head>\n";
echo "<body bgcolor='#003399' text='#00FF99'>\n";
si tu código hace dos cosas:
1) valida cierta condición .. si no se cumple, redireccionas a otra página. Ahí tampoco corresponde otras "salida" como lo que menciona jerka.
2) si pasa la validación .. generas una página con un mensaje ..
Código PHP:
<?php
session_start();
if(isset($btningresar))
{
$enlace = mysql_connect("localhost", "root", "") or die("No pudo conectarse : " . mysql_error());
mysql_select_db("hospital") or die("No pudo seleccionarse la BD.");
$consulta="SELECT usuario.login,usuario.pas FROM usuario where LOGIN='$txtlogin' and PAS='$txtpassword'";
$res=mysql_query($consulta) or die("La consulta falló: " . mysql_error());
mysql_close();
$num=mysql_numrows($res);
if ($num)
{
// echo "<center>DATOS INGRESADOS CORRECTAMENTE</center><br>";
// Este mensaje deberías mostrarlo en la página que redireccionas .. NO aquí. Para eso puedes usar una variable de control en:
// header("Location:menu.php?cod_error=1");
// y la identificas donde redireccionas si existe.
// Ya que usas sesiones, también puedes usar una variable más de sesión para este propósito y ahorrarte la que pasas por el URL.
session_register('LOGIN'); // este uso de sesiones NO debes usarlo .. revisa las FAQ's del foro PHP o visita [url]www.php.net/session[/url]
$LOGIN=$txtlogin;
header("Location:menu.php");
exit; // terminamos la ejecución del script aquí .. no nos interesa más.
}
else
{
// Aquí es donde debes componer tu página HTML completa si llega a este caso.
echo "<html>\n";
echo "<head>\n";
echo "<title>Inicio de sesion</title>\n";
echo "</head>\n";
echo "<body bgcolor='#003399' text='#00FF99'>\n";
echo "<center><h3><b>INGRESE SUS DATOS CORRECTAMENTE<b><h3></center>";
echo "<a href='$PHP_SELF'><center>ATRAS</center></a>";
}
}
else
{
echo "<center><h2><b>Mi Inicio2</b></h2></center><br><br>\n";
echo "<form action='$_SERVER' method='post'>\n";
echo "<center>\n";
echo "<table border='1' width='100' height='74'>\n";
echo " <tr> \n";
echo " <td width='50%' height='19'><strong><font face='Verdana'>Login</font></strong></td>\n";
echo " <td width='50%' height='19'><input name='txtlogin' type='text' size='15' maxlength='10'></td>\n";
echo " </tr>\n";
echo " <tr> \n";
echo " <td width='50%' height='18'><strong><font face='Verdana'>Password</font></strong></td>\n";
echo " <td width='50%' height='18'><input name='txtpassword' type='password' size='15' maxlength='10'></td>\n";
echo " </tr>\n";
echo "<tr> \n";
echo " <td><center><a href='inicio2.php'><img src='../general/imagen/mano.gif' border='o'></a></td></center>\n";
echo " <td><input type='submit' value='Ingresar' name='btningresar'></td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "</center>\n";
echo "</form>\n";
echo "</body>\n";
echo "</html>\n";
}
?>
Nota: Debes usar los arrays superglobales: $_POST, $_SESSION .. $_SERVER .. etc .. Te invito a ver las FAQ's de este foro.
Un saludo,