Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2009, 06:25
kadas99
 
Fecha de Ingreso: julio-2009
Ubicación: Argentina!
Mensajes: 324
Antigüedad: 14 años, 9 meses
Puntos: 4
problema con headers en login script

Buenas Buenas!

Gente, tengo un pequeño problema que por falta de experiencia no puedo solucionar (ademas de que nunca antes habia tenido este error). Se de que se trata pero no encontre como solucionarlo.

Tengo un script de login, el cual estaba todo junto (Es decir, html+php) pero despues de que me dio el error de Warning: session_register() [function.session-register]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\cs2\asd\login.php:19) in C:\AppServ\www\cs2\asd\do_login.php on line 36 lo separe en dos partes.

por un lado puse el html (index.php):

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>sdasadsadsad</title>
</
head>
<
body>
<
form name="login" action="do_login.php" method="post">
usuario: <input type="text" name="usuario"  /><br />
pass: <input type="password" name="pass"  /><br />
<
input type="submit" value="enviar" name="enviar" />
</
form>
</
body>
</
html
y por otro lado el php (do_login.php)
Código PHP:
<?php 
$errors 
"";  

if(isset(
$_POST['enviar']))
{

if(
$_POST['usuario'] == NULL)
{
$errors .= "debes incluir un nombre de usuario";}


if(
$_POST['pass'] == NULL)
{
$errors .= "Debes introducir la password";}






echo 
"Ok enviar";


if(
$errors == ""){
$users=mysql_real_escape_string($_POST['usuario']);
$pass=mysql_real_escape_string($_POST['pass']);





require(
"coneccion.php");
$sql="SELECT * FROM users WHERE username='$users' AND password='$pass'";
$resultado=mysql_query($sql) or die(mysql_error());
$count=mysql_num_rows($resultado);

if(
$count==1){
session_register("user");
session_register("pass");
}
else {
echo 
"Error en usuario o password.";
}


}else{
echo 
$errors."<br />";
$errors "";}
}
?>
la cuestion es que me da ese error (Warning: session_register() [function.session-register]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\cs2\asd\do_login.php:19) in C:\AppServ\www\cs2\asd\do_login.php on line 36

Warning: session_register() [function.session-register]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\cs2\asd\do_login.php:19) in C:\AppServ\www\cs2\asd\do_login.php on line 36
).

y no se que puede hacer, probe cosas que encontre como borrar espacios en blanco al principio y final del codigo, separe el codigo en dos partes sin mezclar html+php.... nu che que pacha!

Nos vemos, un abrazo.