Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/10/2005, 06:37
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
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&oacute;: " 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,