Foros del Web » Programando para Internet » PHP »

un error poco comun con el session_start();

Estas en el tema de un error poco comun con el session_start(); en el foro de PHP en Foros del Web. me da este error: Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (................................................. .....)conexion/conexion.php on line 1 lo malo es que ...
  #1 (permalink)  
Antiguo 29/03/2012, 16:31
 
Fecha de Ingreso: agosto-2011
Ubicación: la paz
Mensajes: 83
Antigüedad: 8 años, 3 meses
Puntos: 4
Pregunta un error poco comun con el session_start();

me da este error:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (................................................. .....)conexion/conexion.php on line 1

lo malo es que solo en algunos da este error no en todos no se que hacer la verdad no se por que sera

trabajabamos entre 2 programadores ok y en todos sus codigos del anterior programador me sale esto me puse a reaser todos los codigos y sigue saliendo lo mismo y no que sera


ya prove con esto:
Solución 1: Escribir ob_start () antes de session_start () declaración. Como a su vez ob_start () en el búfer de salida significa que no hay señal que se envía a la escritura y almacena el resultado en el buffer interno.

Solución 2: Si la solución no funciona para usted que por favor, asegúrese de que nada se envía al navegador antes de la declaración de session_start (). Esto sucede en el caso de que haya un espacio en blanco o algunos charactors antes de session_start () o incluso antes de <? etiqueta de php. Si este es el caso, por favor, elimine los espacios o charactors.It se sovle el "No se puede enviar limitador de caché de la sesión" problema.

Y AL 3 QUE NO LA ENTIENDO PARA NADA:
Solution 3: If both solutions does not make any difference and still you have the same problem than try to set the encoding from UTF-8. UTF-8 encoding add some characters before <?php tag which is the same case as solution 2 and you have remove those charactors. But as those charactors automatically output in page, you can solve this by using UTF-8 encoding WITHOUT BOM (Byte Order Mark). "Don't save your UTF-8 files with BOM as it creates issues".


Este es el conexion

Código PHP:
Ver original
  1. <?php session_start();?>
  2. <?php
  3. require('co.php');
  4. if((isset($_POST['usuario']))&&(isset($_POST['contrasena'])))
  5. {
  6.     $usuario= trim($_POST['usuario']);
  7.     $password = $_POST['contrasena'];
  8.     $b_user=mysql_query("SELECT * FROM usuario WHERE usuario='$usuario' and contrasena='$password' and confirmacion='si'");
  9.     $total=mysql_num_rows($b_user);
  10.     if($total==1){
  11.                
  12.                     $c_user=mysql_query("SELECT * FROM usuario, empresa WHERE usuario.usuario='$usuario'");
  13.                     $row = mysql_fetch_array($c_user);
  14.                    
  15.                     switch($row["empresa"]){
  16.                         case 'admin':
  17.                         $_SESSION["id_usuario"]=$row["id_usuario"];
  18.                         $_SESSION["usuario"] = $row["usuario"];
  19.                         $_SESSION["nombre"]=$row["nombre"];
  20.                         $_SESSION["empresa"]=$row["empresa"];
  21.                         $idusuario=$_SESSION["id_usuario"];
  22.                         $nombreu = $_SESSION["usuario"];
  23.                         $nom=$_SESSION["nombre"];
  24.                         $empresa=$_SESSION["empresa"];
  25.                         echo '<meta http-equiv="Refresh" content="2;url=../index.php"> ';
  26.                         break;
  27.                         case 'si':
  28.                         $_SESSION["usuario"] = $row["usuario"];
  29.                         $_SESSION["id_empresa"]=$row["id_empresa"];
  30.                         $_SESSION["id_usuario"]=$row["id_usuario"];
  31.                         $_SESSION["nombre_empresa"]=$row["nombre_empresa"];
  32.                         $_SESSION["logo_empresa"]=$row["logo_empresa"];
  33.                         $_SESSION["empresa"]=$row["empresa"];
  34.                         $empresa=$_SESSION["empresa"];
  35.                         $id=$_SESSION["id_empresa"];
  36.                         $nombreu = $_SESSION["usuario"];
  37.                         $nom=$_SESSION["nombre_empresa"];
  38.                         $idempresa=$_SESSION["id_empresa"];
  39.                         $idusuario=$_SESSION["id_usuario"];
  40.                         $verempresa=$_SESSION["empresa"];
  41.                         echo '<meta http-equiv="Refresh" content="2;url=../index.php"> ';
  42.                         break; 
  43.                         case 'no':
  44.                         $_SESSION["id_usuario"]=$row["id_usuario"];
  45.                         $_SESSION["usuario"] = $row["usuario"];
  46.                         $_SESSION["nombre"]=$row["nombre"];
  47.                         $_SESSION["empresa"]=$row["empresa"];
  48.                         $idusuario=$_SESSION["id_usuario"];
  49.                         $nombreu = $_SESSION["usuario"];
  50.                         $nom=$_SESSION["nombre"];
  51.                         $empresa=$_SESSION["empresa"];
  52.                         echo '<meta http-equiv="Refresh" content="2;url=../index.php"> ';
  53.                         break;
  54.         }
  55.                     if(isset($nombreu)){
  56.                     $verif="select * from usuario where usuario='$nombreu' and empresa='si'";
  57.                     $reverif=mysql_query($verif);
  58.                     $numverif=mysql_num_rows($reverif);}
  59.     }else{
  60.         echo'EL USUARIO NO EXISTE';
  61.         echo '<meta http-equiv="Refresh" content="2;url=../../index.php"> ';
  62.     }
  63.   }else{
  64.     if(isset ($_SESSION)){
  65.     switch($_SESSION['empresa']){
  66.             case 'admin':
  67.                     $idusuario=$_SESSION["id_usuario"];
  68.                     $nombreu = $_SESSION["usuario"];
  69.                     $nom=$_SESSION["nombre"];
  70.                     $empresa=$_SESSION["empresa"];
  71.             break;
  72.             case 'si':
  73.                         $empresa=$_SESSION["empresa"];
  74.                         $id=$_SESSION["id_empresa"];
  75.                         $nombreu = $_SESSION["usuario"];
  76.                         $nom=$_SESSION["nombre_empresa"];
  77.                         $idempresa=$_SESSION["id_empresa"];
  78.                         $idusuario=$_SESSION["id_usuario"];
  79.                         $verempresa=$_SESSION["empresa"];
  80.             break;
  81.             case 'no':
  82.                     $idusuario=$_SESSION["id_usuario"];
  83.                     $nombreu = $_SESSION["usuario"];
  84.                     $nom=$_SESSION["nombre"];
  85.                     $empresa=$_SESSION["empresa"];
  86.             break;
  87.     }
  88. }else{
  89.         echo '<meta http-equiv="Refresh" content="2;url=../index.php"> ';
  90.         }
  91. }
  92. ?>

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  4. <link rel="stylesheet" href="../css/style.css" type="text/css" media="all" />
  5. <script src="../js/jquery-1.6.2.min.js" type="text/javascript" charset="utf-8"></script>
  6. <script src="../js/DD_belatedPNG-min.js" type="text/javascript" charset="utf-8"></script>
  7. <script src="../js/cufon-yui.js" type="text/javascript"></script>
  8. <script src="../js/Myriad_Pro_700.font.js" type="text/javascript"></script>
  9. <script src="../js/jquery.jcarousel.min.js" type="text/javascript" charset="utf-8"></script>
  10. <script src="../js/functions.js" type="text/javascript" charset="utf-8"></script>
  11. <title>NotiBolivia</title>
  12. </head>
  13. </html>
  #2 (permalink)  
Antiguo 29/03/2012, 17:34
 
Fecha de Ingreso: agosto-2011
Ubicación: la paz
Mensajes: 83
Antigüedad: 8 años, 3 meses
Puntos: 4
Respuesta: un error poco comun con el session_start();

SI LAS SOLUCIONES DE ARRIBA NO TE FUNCIONARON Y ESTAS SEGURO DE QUE NO MANDAS NINGÚN CARÁCTER HTML Y QUE NO HAY ESPACIOS EN BLANCO NI ANTES DEL <?php ENTONCES PRUEBA ESTO
Solucionado nada tenia que ver con el código es la forma de guardado del archivo es algo relacionado con el BOM
http://www.arumeinformatica.es/blog/...-utf-8-que-es/

Si ninguna de las soluciones de arriba les funciona aqui esta.
Solucion agarran el php con el error que lanza este error:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent

LUEGO PASO 1
click derecho--> abrir con-->bloc de notas
LUEGO PASO 2
tenemos nuestro codigo abierto en el bloc nos vamos a:
Archivo-->guardar como
LUEGO PASO 3
en el paso 3

EN DONDE DICE "nombre:" pones el mismo nombre del archivo que estas modificando
EN DONDE DICE "tipo:" pones "todos los archivos"
EN DONDE DICE "codificacion:" pones "ANSI"
por ultimo "aceptar"

lo vuelves a subir el archivo en tu host y veras que ya no aparece eso
Y LISTO SE SOLUCIONA EL PROBLEMA

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 10:02.