Foros del Web » Programando para Internet » PHP »

Error de

Estas en el tema de Error de en el foro de PHP en Foros del Web. Hola, soy nuevo aquí y quería preguntaros sobre unos errores muy inusuales que se dan en mi web. Hace poco subí mi web a un ...
  #1 (permalink)  
Antiguo 07/06/2011, 11:04
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
Error de

Hola, soy nuevo aquí y quería preguntaros sobre unos errores muy inusuales que se dan en mi web.
Hace poco subí mi web a un hosting (hostpapa). Iba muy ilusionado a verla por primera vez en google cuando en la parte derecha (log-in) inserto mis datos y da unos errores . Me he comido la cabeza intentando buscar el error pero no lo he encontrado. A continuación les dejo los errores:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/bizar612/public_html/log-in/alta2.php:9) in /home/bizar612/public_html/log-in/alta2.php on line 13

Warning: Cannot modify header information - headers already sent by (output started at /home/bizar612/public_html/log-in/alta2.php:9) in /home/bizar612/public_html/log-in/alta2.php on line 47

Y aquí les dejo el archivo:

Código PHP:
<?php 
include("../conexiones/bizarrejuegos.php");
include(
"../funciones.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="../styles/noticias/<?php echo estilo(); ?>" rel="stylesheet" type="text/css" />
</head>
<body>
<?php
session_start
();
if(isset(
$_POST['admin']) && isset($_POST['clave']))
{
    if(
$_POST['clave']=='*****') {
        
$sql="SELECT *
              FROM usuariosbj
              WHERE email='"
.$_POST['admin']."'";
        
$res=mysql_query($sql,$conexion) or die(mysql_error()."<br />".$sql."<hr />");
        
        if(
mysql_fetch_assoc($res)==false) {
            echo 
"El usuario y/o la contraseña no son correctos<br />";
        }
        else {
            
$_SESSION['email']=$_POST['admin'];
            
$_SESSION['clave_sec']=$_POST['clave'];
            
header("Location: ../noticias.php");
        }
    
    } 
    else {
        
$sql="SELECT *
              FROM usuariosbj
              WHERE nombre='"
.$_POST['admin']."'AND clave='".$_POST['clave']."'";
        
$res=mysql_query($sql,$conexion) or die(mysql_error()."<br />".$sql."<hr />");
    
        
//si el nombre y/o la contrase単a no son correctos
        
if(mysql_fetch_assoc($res)==false)
                    echo 
"El usuario y/o la contraseña no son correctos<br />";
    
        
//si el nombre y/o la contrase単a si son correctos
        
else {
            
$_SESSION['recordar']=$_POST['recordar'];
            
$_SESSION['nombre']=$_POST['admin'];
            
$_SESSION['clave']=$_POST['clave'];
            
header("Location: ../noticias.php");
        }
    }
}
?>
</body>
</html>
  #2 (permalink)  
Antiguo 07/06/2011, 11:08
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Error de

Tienes que llamar a session_start antes de enviar el html.
Código PHP:
Ver original
  1. <?php  
  2. include("../conexiones/bizarrejuegos.php");
  3. include("../funciones.php");
  4. ?>
  5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <head>
  8. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  9. <link href="../styles/noticias/<?php echo estilo(); ?>" rel="stylesheet" type="text/css" />
  10. </head>
  11. <body>
  12. <?php
  13.  
  14. if(isset($_POST['admin']) && isset($_POST['clave']))
  15. {
  16.     if($_POST['clave']=='*****') {
  17.         $sql="SELECT *
  18.              FROM usuariosbj
  19.              WHERE email='".$_POST['admin']."'";
  20.         $res=mysql_query($sql,$conexion) or die(mysql_error()."<br />".$sql."<hr />");
  21.          
  22.         if(mysql_fetch_assoc($res)==false) {
  23.             echo "El usuario y/o la contraseña no son correctos<br />";
  24.         }
  25.         else {
  26.             $_SESSION['email']=$_POST['admin'];
  27.             $_SESSION['clave_sec']=$_POST['clave'];
  28.             header("Location: ../noticias.php");
  29.         }
  30.      
  31.     }  
  32.     else {
  33.         $sql="SELECT *
  34.              FROM usuariosbj
  35.              WHERE nombre='".$_POST['admin']."'AND clave='".$_POST['clave']."'";
  36.         $res=mysql_query($sql,$conexion) or die(mysql_error()."<br />".$sql."<hr />");
  37.      
  38.         //si el nombre y/o la contrase単a no son correctos
  39.         if(mysql_fetch_assoc($res)==false)
  40.                     echo "El usuario y/o la contraseña no son correctos<br />";
  41.      
  42.         //si el nombre y/o la contrase単a si son correctos
  43.         else {
  44.             $_SESSION['recordar']=$_POST['recordar'];
  45.             $_SESSION['nombre']=$_POST['admin'];
  46.             $_SESSION['clave']=$_POST['clave'];
  47.             header("Location: ../noticias.php");
  48.         }
  49.     }
  50. }
  51. ?>
  52. </body>
  53. </html>
  #3 (permalink)  
Antiguo 07/06/2011, 12:34
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Error de

y lo pondría antes de los 2 includes

session_start();
include("../conexiones/bizarrejuegos.php");
include("../funciones.php");
  #4 (permalink)  
Antiguo 08/06/2011, 10:20
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Error de

gracias por sus respuestas pero ahora me da otro error:

Warning: Cannot modify header information - headers already sent by (output started at /home/bizar612/public_html/log-in/alta2.php:10) in /home/bizar612/public_html/log-in/alta2.php on line 47

El session_start lo he puesto como dijo iviamontes, al principio del archivo.

Código PHP:
<?php
session_start
(); 
include(
"../conexiones/bizarrejuegos.php");
include(
"../funciones.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="../styles/noticias/<?php echo estilo(); ?>" rel="stylesheet" type="text/css" />
</head>
<body>...</body></html>
  #5 (permalink)  
Antiguo 08/06/2011, 10:26
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Error de

No puedes utilizar la función header después de haber enviado algo por pantalla, tienes que ponerla antes de cualquier otra salida.
  #6 (permalink)  
Antiguo 08/06/2011, 10:30
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Error de

borra todos los espacios en blanco no puedes tener NADA arriba de
<?php
session_start();


nada de nada
  #7 (permalink)  
Antiguo 08/06/2011, 11:34
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Error de

hola alexg88; en realidad no se envía nada antes del header porque está en una sentencia if else, entonces, si se cumple el if imprime y ya, sino se redirige a noticias.php sin imprimir nada, por lo tanto debería funcionar.
Además, cuando lo pruebo en mi ordenador con el servidor local no me dice nada
  #8 (permalink)  
Antiguo 08/06/2011, 11:37
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Error de

¿Como que no se envía nada? Y todo las etiquetas <html>, <head>, <body> que envías antes que son.
  #9 (permalink)  
Antiguo 08/06/2011, 11:40
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Error de

leete la magnifica explicacion que dio stramin aca

http://www.forosdelweb.com/f18/sesiones-php-919148/
  #10 (permalink)  
Antiguo 08/06/2011, 11:42
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Error de

¿Eso también cuenta? ¿Crees que si pongo el código php que está en el body al principio funcionaría?
  #11 (permalink)  
Antiguo 08/06/2011, 11:44
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Error de

todo cuenta, por favor leete el link q te acabo de poner
  #12 (permalink)  
Antiguo 08/06/2011, 11:46
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Error de

Menuda explicación, creo que nunca había visto tanta explicación junta. Me ha servido mucho.
  #13 (permalink)  
Antiguo 08/06/2011, 11:50
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Error de

Por fin, he copiado el código php que había en el body al principio, justo después del include y lo he comprobado y funciona!!!
Muchas gracias por todo, si alguna vez tenéis alguna duda mandadme un correo a mi perfil y os lo responderé encantado.
  #14 (permalink)  
Antiguo 08/06/2011, 11:52
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Error de

Una pregunta, ¿aquí se cierran los temas o algo parecido?
  #15 (permalink)  
Antiguo 08/06/2011, 11:54
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Error de

que bueno me alegro mucho... ahora reparte karma jajaj
  #16 (permalink)  
Antiguo 08/06/2011, 11:56
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Error de

Dime como se hace y te doy
  #17 (permalink)  
Antiguo 08/06/2011, 11:59
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Error de

y tmb tienes que darle a alexg88 que se esmeró..
en las flechitas que tiene +0 y -0 si das en + das karma...
aunque stramin tmb se merece jajaj
  #18 (permalink)  
Antiguo 08/06/2011, 12:00
Avatar de legomolina  
Fecha de Ingreso: junio-2011
Ubicación: Valencia
Mensajes: 165
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: Error de

ya está, ¿aquí se cierran los temas o algo parecido?
  #19 (permalink)  
Antiguo 08/06/2011, 12:04
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 3 meses
Puntos: 128
Respuesta: Error de

Legomolina, los temas no se cierran Bienvenido
__________________
Si no vivimos como pensamos, pronto empezaremos a pensar como vivimos.
Más vale un Gracias sincero, que un número que aumente "popularidad" ¬¬°

Universidad de chile, campeón

Etiquetas: Ninguno
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 19:54.