Foros del Web » Programando para Internet » PHP »

Ayuda con Sessiones urgente!

Estas en el tema de Ayuda con Sessiones urgente! en el foro de PHP en Foros del Web. Hola que tal, estoy desarrollando un sitio desde hace algun tiempo y siempre estoy pendiende de la compatibilidad con todos los navegadores, la cuestion es ...
  #1 (permalink)  
Antiguo 23/06/2010, 00:21
 
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 14 años, 8 meses
Puntos: 1
Ayuda con Sessiones urgente!

Hola que tal, estoy desarrollando un sitio desde hace algun tiempo y siempre estoy pendiende de la compatibilidad con todos los navegadores, la cuestion es que una vez que termine todo el diseño del sitio empeze a ponerle seguridad haciendo algunos IF y con algunas sessiones.

La cuestion es que yo tengo este codigo en una de mis paginas:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php
session_start();
$var = isset ($_SESSION["autentificado"]) ;

if ($var == "VERDADERO") {
$cerrar = "Cerrar Sesion";
$registrate = "";
$presuonline = "<li><a href='index.php?mod=presupuesto' id='presupuesto2' class='clientes' title='Clientes'>Presupuesto Online</a></a></li>";
$mensajes = "<li><a href='index.php?mod=mensajes' id='mensajes' class='clientes' title='Clientes'>Mis Mensajes</a></a></li>";
$cuenta = "<li><a href='index.php?mod=cuenta' id='cuenta' class='clientes' title='Clientes'>Mi Cuenta</a></a></li>";

}else{
$cerrar = "Iniciar Sesion";
$mensajes = "";
$registrate = "<li><a href=javascript:Carga('sistema_remodelacion/usuarios/form_crear_usuario2.php','main-content') id='servicios' class='servicios' title='Registrate'>Registrate</a></a></li>";
$presuonline = "";
$cuenta = "";

}
ok el problema esta con esta linea donde declaro el tipo de documento html:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Si la quito se descuadra toda el diseño de la pagina, pero si la pongo entra en conflicto con las Sessiones mostrando el siguiente error:

Código:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\theme\index.php:2) in C:\AppServ\www\theme\index.php  on line 3
Segun estuve investigando este error se da cuando se coloca algun codigo HTML antes del <?php cuando contiene sessiones, entonces intente mover el <!DOCTYPE html... despues del <?php y no funciona, obligatoriamente esa linea tiene que ir al comienzo del archivo.

Por favor si alguien puede sugerirme que hacer se lo agradeceria mucho.
  #2 (permalink)  
Antiguo 23/06/2010, 00:32
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Ayuda con Sessiones urgente!

Te equivocas al decir que obligatoriamente esa línea tiene que ir al comienzo. Lo que debe ir al comienzo es lo que envíe cabeceras al navegador, como en el caso que estás indicando session_start. Lo que puedes hacer es esto
Código PHP:
Ver original
  1. <?php
  2. ?>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <?php
  5. //código de php......
  6. ?>

PD: Evita colocar títulos como urgente, ayuda, etc. A muchos desmotiva
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 23/06/2010, 20:10
 
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Ayuda con Sessiones urgente!

Muchas gracias amigo abimaelrc, funciono a la perfeccion, tendre en cuenta tu sugerencia en los titulos de mis proximos posts...

Gracias

Etiquetas: sesiones
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 03:23.