Foros del Web » Programando para Internet » PHP »

Al ingresar como usuario me dice headers already sent

Estas en el tema de Al ingresar como usuario me dice headers already sent en el foro de PHP en Foros del Web. Buenas Estoy terminando mi sistema de usuarios en php, estoy usando la clase phpuserclass para la manipulacion de usuarios, el tema es que todo anda ...
  #1 (permalink)  
Antiguo 02/02/2011, 09:50
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Al ingresar como usuario me dice headers already sent

Buenas

Estoy terminando mi sistema de usuarios en php, estoy usando la clase phpuserclass para la manipulacion de usuarios, el tema es que todo anda bien salvo ahora que estoy armando un box al costado de mi pagina con el tipico form de usuario y contraseña. el tema es que tira los errores bien cuando el usuario no es correcto, pero al ingresar bien el usuario y password me dice headers already sent en la linea que hace header para redireccionar a la home, el tema es que ya no lo loguea, que hago mal?

Código PHP:
                             <li><?php
                            
if ( !$user->is_loaded() )
                                {
                                    
//Login stuff:
                                    
if ( isset($_POST['uname']) && isset($_POST['pwd'])){
                                      if ( !
$user->login($_POST['uname'],$_POST['pwd'],$_POST['remember'] )){//Mention that we don't have to use addslashes as the class do the job
                                        
echo '<span style="color: red;"> Wrong username and/or password</span>';
                                      }else{
                                        
//user is now loaded
                                        
header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']);
                                      }
                                    }
                                    echo 
'
                                    <p><form method="post" action="'
.$_SERVER['PHP_SELF'].'" />
                                     Usuario: <input type="text" name="uname" /><br /><br />
                                     Contrase&ntilde;a: <input type="password" name="pwd" /><br /><br />
                                     Recordarme <input type="checkbox" name="remember" value="1" /><br /><br />
                                     <input type="submit" value="Entrar" class="mBtn btnOk"/>
                                    </form>
                                    <br />
                                    <br />
                                    <div class="login_footer">
                                  <a href="/recordar_clave.php">
                                    ¿Olvidaste tu contrase&ntilde;a?      </a>
                                    <br>
                                  <a style="color: green;" onclick="open_login_box(); registro_load_form(); return false" href="javascript:registracion();">
                                    <strong>Registrate Ahora!
                                  </a>
                                      <hr>
                                  </div>
                                    </p>'
;
                                }else{
                                  
//User is loaded
                                  
echo '<a href="'.$_SERVER['PHP_SELF'].'?logout=1">logout</a>';
                                }
                                
?>
Ese es mi codigo, alguna idea?

Obvio antes hago:

Código PHP:

include 'access.class.php';
$user = new flexibleAccess(); 
Saludos
  #2 (permalink)  
Antiguo 02/02/2011, 10:05
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 16 años, 3 meses
Puntos: 87
Respuesta: Al ingresar como usuario me dice headers already sent

el error se debe a que tienes código html antes de usar header.

http://www.php.net/manual/en/function.header.php
Cita:
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.
Saludos.
  #3 (permalink)  
Antiguo 02/02/2011, 11:10
 
Fecha de Ingreso: agosto-2003
Mensajes: 906
Antigüedad: 21 años, 3 meses
Puntos: 3
Respuesta: Al ingresar como usuario me dice headers already sent

Gracias, ya me funciona, el tema es que no me guarda el usuario y al volver a cualquier seccion me vuelve a pedir los datos como sino hubiese agregado nada, que me esta faltando?

Etiquetas: ingresar, header, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:25.