Foros del Web » Programando para Internet » PHP »

AYUDA: session_start()

Estas en el tema de AYUDA: session_start() en el foro de PHP en Foros del Web. Hola, que tal, pues me he registrado en este foro porque ya he leido todos los casos parecidos que tienen y no doy con la ...
  #1 (permalink)  
Antiguo 31/01/2009, 12:19
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
AYUDA: session_start()

Hola, que tal, pues me he registrado en este foro porque ya he leido todos los casos parecidos que tienen y no doy con la solucion para mi problema, este es el error que sale:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\telefonia\login2.php:1) in C:\AppServ\www\telefonia\login2.php on line 3

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\telefonia\login2.php:1) in C:\AppServ\www\telefonia\login2.php on line 3

Y este es el codigo de mi pagina web en el cual se genera el error:

Código PHP:
<?php
include('conectar.php');
session_start();
 
if(isset(
$_POST['submit'])) {
    if(empty(
$_POST['username']) || empty($_POST['password'])) {
        echo 
"Todos los campos son obligatorios";
                exit;
    }
    
$username $_POST['username'];
    
$password $_POST['password'];
 
    
$query "SELECT nickname,pass 
              FROM     `usuarios`
              WHERE     nickname='$username'"
;
 
    
$result mysql_query($query);
    if(!
$result) { 
        echo 
"The query failed ".mysql_error();
    } else {
        
$row mysql_fetch_object($result);
    
        if(
$row->pass != $password) {
            echo 
"La contraseña es incorrecta.";
                        exit;
        }
        
$_SESSION['nombre'] = $username;
        
$_SESSION['sid'] = session_id(); 
        
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
    }
}

$status "";
if (
$_POST["action"] == "upload") {
    
// obtenemos los datos del archivo 
    
$tamano $_FILES["archivo"]['size'];
    
$tipo $_FILES["archivo"]['type'];
    
$archivo $_FILES["archivo"]['name'];
    
$prefijo substr(md5(uniqid(rand())),0,6);
    
    if (
$archivo != "") {
        
// guardamos el archivo a la carpeta files
        
$destino =  "files/".$prefijo."_".$archivo;
        if (
copy($_FILES['archivo']['tmp_name'],$destino)) {
            
$status "Archivo subido: <b>".$archivo."</b>";
        } else {
            
$status "Error al subir el archivo";
        }
    } else {
        
$status "Error al subir archivo";
    }
}

?>
<!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>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="sddm.css" >
despues de eso tengo todo el codigo html que lleva la pagina.

Tambien algo curioso es que hacia dos horas, y no modifique nada, simplemente aparecio...
  #2 (permalink)  
Antiguo 31/01/2009, 12:46
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: AYUDA: session_start()

antes de session_start() (también para header), no debe de haber ningún texto o espacios en blanco, lo más probable en el archivo que incluyes hay texto o espacios que se envían como cabecera antes que la sesion, escribe la funcion session_start() antes del include.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #3 (permalink)  
Antiguo 31/01/2009, 14:02
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: AYUDA: session_start()

Cita:
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\telefonia\login2.php:1) in C:\AppServ\www\telefonia\login2.php on line 3
En este caso la salida no se produce en el include, sino en el mismo archivo. Lo más probable es entonces que haya un espacio antes de <?php en ese mismo archivo. Por otro lado, a veces suelen agregarse uno o dos caracteres al inicio de los archivos guardados con codificación utf. Qué codificación tienen tus archivos? Ahí podría estar la causas de ese error.

  #4 (permalink)  
Antiguo 31/01/2009, 19:08
 
Fecha de Ingreso: enero-2009
Mensajes: 14
Antigüedad: 15 años, 2 meses
Puntos: 0
Cita:
Iniciado por okram Ver Mensaje
En este caso la salida no se produce en el include, sino en el mismo archivo. Lo más probable es entonces que haya un espacio antes de <?php en ese mismo archivo. Por otro lado, a veces suelen agregarse uno o dos caracteres al inicio de los archivos guardados con codificación utf. Qué codificación tienen tus archivos? Ahí podría estar la causas de ese error.

Hola, gracias por responder, la codificacion es charset=utf-8.

Cita:
Iniciado por argy Ver Mensaje
antes de session_start() (también para header), no debe de haber ningún texto o espacios en blanco, lo más probable en el archivo que incluyes hay texto o espacios que se envían como cabecera antes que la sesion, escribe la funcion session_start() antes del include.

suerte.
Hola, gracias por responder, pero no... ya lo intente asi como dices, porque vi que en otro caso similar posteado en este foro le habia resultado, sin embargo no es mi caso, lo ponga en antes o despues del require me da el error, tambien probe con quitar el include sin resultados positivos.

Algo mas que acabo de notar es que no respeta los css de la pagina, pero si quito el codigo php... si los acepta... algo esta mal dentro de ese codigo, pero no logro dar con que.

Última edición por GatorV; 31/01/2009 a las 19:22
  #5 (permalink)  
Antiguo 31/01/2009, 19:22
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: AYUDA: session_start()

Hola BlackShark,

Revisa este link: http://www.forosdelweb.com/2023067-post176.html

Saludos.
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:44.