Foros del Web » Programando para Internet » PHP »

Sessiones

Estas en el tema de Sessiones en el foro de PHP en Foros del Web. hola a todos, tengo un preblama que es el siguiente. estoy tratando de mostrar una serie de datos que viene de un formulario pero antes ...
  #1 (permalink)  
Antiguo 30/05/2006, 09:00
 
Fecha de Ingreso: enero-2003
Ubicación: Caracas
Mensajes: 439
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta Sessiones

hola a todos, tengo un preblama que es el siguiente. estoy tratando de mostrar una serie de datos que viene de un formulario pero antes de esto pregunto por una variable session a ver si esta vacia si esta lo redirecciono a otro lado sino sigo mi proceso. lo que sucede es que me muestra los datos pero me aparece el siguiente error:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/site/sistemaprensa/operaciones_notas.php:1) in /var/www/site/sistemaprensa/operaciones_notas.php on line 1


como prodria solucionarlo gracias.


nota asi empiezo el codigo:


<? session_start();
if (empty ($_SESSION["tipo_usuario"]))
{header("Location:acceso.php");}
?>
  #2 (permalink)  
Antiguo 30/05/2006, 09:39
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

¿Estas seguro que antes de session_start() NO tienes salidas al explorador como <html> o echo ""? Puesto que el error que estas obtiendo se debe a dichas causas.

Saludillos
  #3 (permalink)  
Antiguo 30/05/2006, 10:27
 
Fecha de Ingreso: mayo-2006
Ubicación: La Plata
Mensajes: 4
Antigüedad: 11 años, 6 meses
Puntos: 0
sessiones

Lo que te está pasando es que lego de realizar el session_start(), le tené que decir que no cachee la session con el comando:
session_cache_limiter('nocache,private');
Luego de esta intrucción recién le declarás la variables que querés que te guarde la session.
Espero que te sirva.....
  #4 (permalink)  
Antiguo 30/05/2006, 10:53
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Si pudieras postear esta parte del código. porque no me quede claro el problema.

Saludillos.
  #5 (permalink)  
Antiguo 30/05/2006, 14:32
 
Fecha de Ingreso: abril-2006
Ubicación: mexico
Mensajes: 287
Antigüedad: 11 años, 7 meses
Puntos: 2
Mientras no tenga encabezados de Html O ALGO DE codigo de eso antes de <?php session_start();?> no te marcará ningun error como ese. es solo que en la primera línea al comenzar tiene que ir el código anterior.
  #6 (permalink)  
Antiguo 30/05/2006, 15:38
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 11 años, 6 meses
Puntos: 6
yo puedo ... miren el codigo :P

yo empizo con html y no tengo porblemas... mmmm .... mira mi codigo de validar_usuario.... esto lo hago depsues del login de user(index.php) k es donde le envio las variables ......

$usuario = $_POST["txt_usuario"];
$clave = $_POST["txt_clave"];


aki veo si existe user... si el pass corresponde y todo lo demas... sino lo mando a logearse nuevamente.... y si existe no mando a la pagina principal... es el puente de comunicacion y autentificacion... ademas creo unas variables de sesion k ocupo despues en mis frames :P

para acupar las variables de sesion las guardo en una libreria o algo asi k me cree... despues solo las mando a llamar con un <?php require("mi supuesta libreria xD!");?> y eso :D espero sirva.... la variable de autentificacion la mantengo en una libreria de seguridad ... asi valido si la sesion continua activa o algo asi... ya no me acuerdo mucho... :P eso ... aios
atte seik! -chile-

-----------------------------------------------------------------------
<html>
<head>
<title>Verificando Usuario...</title>
</head>
<body>
<?php

$usuario = $_POST["txt_usuario"];
$clave = $_POST["txt_clave"];

// Busca en BD el usuario ingresado
$sql = "SELECT login, clave, nombre, apellido, perfil ";
$sql.= "FROM usuario WHERE login='".$usuario."'";

$rs_datos = select_data($sql, &$f_est, &$c_est);
$ls_datos = mysql_fetch_array($rs_datos);
if ($f_est > 0){
if (strtolower($ls_datos["clave"]) == strtolower($clave)){
$login = $ls_datos["login"];
$nombre = $ls_datos["nombre"]." ".$ls_datos["apellido"];
$nivel = $ls_datos["perfil"];

session_start();
session_register("autentificado");
session_register("user_sec");
session_register("user_nombre");
session_register("user_nivel");
$autentificado = "1";
$user_sec = $login;
$user_nombre = $nombre;
$user_nivel = $nivel;

header ("Location:oficio_ls.php");
} else{
header ("Location: ".$gserver."/index.php?err=2");
}
} else {
header ("Location: ".$gserver."/index.php?err=1");
}
mysql_free_result($rs_datos);
?>
</body>
</html>
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:03.