Foros del Web » Programando para Internet » PHP »

sesiones

Estas en el tema de sesiones en el foro de PHP en Foros del Web. saludos: tengo un problema con las sessiones: tengo un archivo de control que es : control.php <?php //codigo.... session_start(); $_SESSION["var"]="ok"; header ("Location:envio.php"); ?> y el ...
  #1 (permalink)  
Antiguo 20/01/2004, 15:02
 
Fecha de Ingreso: agosto-2003
Ubicación: Viña del mar
Mensajes: 280
Antigüedad: 20 años, 8 meses
Puntos: 0
sesiones

saludos: tengo un problema con las sessiones:

tengo un archivo de control que es :

control.php

<?php

//codigo....

session_start();
$_SESSION["var"]="ok";
header ("Location:envio.php");
?>

y el archivo envio.php

y resulta que el archivo envio.php no reconoce $_SESSION["var"]

y la unica manera de que me ha resultado es eliminar en el archivo control.php la linea de codigo:

header ("Location:envio.php");

y reemplzarla por un include, pero a la ves el archivo envio.php contiene otros include, y mi pregunta si no es problema trabajar de esta manera, pero si ahi una mejor...cual es?

vale
  #2 (permalink)  
Antiguo 20/01/2004, 15:09
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
en el archivo envio.php debes poner session_start(); antes de rescatar el valor de $_SESSION["var"].
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #3 (permalink)  
Antiguo 20/01/2004, 15:26
 
Fecha de Ingreso: agosto-2003
Ubicación: Viña del mar
Mensajes: 280
Antigüedad: 20 años, 8 meses
Puntos: 0
saludos:

ya habia utilizado session_start(); antes y tampoco funciono.

lo que en realidad trato de hacer es que en archivo control.php

defino la sesion y guardos los datos con session_start() y $_SESSION["var"],y despues le quiero hacer el header al archivo envio.php..
y al principio del archivo envio.php tengo un include con la capa de seguridad, para asi si alguien copia la direccion del archivo enio.php y la pega en la barra de direcciones, tenga q pasar por el archivo de seguridad, pero el problema es que la session que registre en el archivo de control, no lo reconocel los archivos cuando hago header, solo los include, y en realidad nesecito trabajar con los header..eso
  #4 (permalink)  
Antiguo 20/01/2004, 15:30
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
haz el header() normalmente, tal como lo tenias y asegurate que en las demas paginas(envio.php) hagas session_start(); y luego leas el contenido de $_SESSION['var']
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #5 (permalink)  
Antiguo 20/01/2004, 16:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
A todo esto .. el SID como lo estás propagando (por tu código se vé que lo asumes como automático y por cookeis).

Revisa las directivas de tu php.ini ( phpinfo() también lo puedes ver)
session.use_cookeis =1 (sobre todo esta ..ya que usas un redireccionamiento tipo header() ...)
session.use_trans_sid =1

Y a todo esto . .un navegador que acepte cookies.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 20/01/2004, 17:45
 
Fecha de Ingreso: agosto-2003
Ubicación: Viña del mar
Mensajes: 280
Antigüedad: 20 años, 8 meses
Puntos: 0
saludillos

lo hice y tampoco funciona..
esto es lo que tengo:

control.php
<?
// tambien prove con comillas simples

session_start();
$_SESSION["aut"]="si";
header("Location: envio.php");
?>

envio.php
<?

session_start();
$_SESSION["aut"];
//tambien prove asignando: $prov=$_SESSION["aut"];
e incluso con un echo para ver si mostrava algo y nada
include ("seguridad.php");

?>

seguridad.php
<?
session_start();
if($_SESSION["aut"]!="si")
{
header("Location:index.php");
exit();
}

?>
  #7 (permalink)  
Antiguo 20/01/2004, 18:30
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Prueba esto en envio.php:

<?
session_start();
print_r ($_SESSION);
?>

Eso puede darte una idea de que esta pasando, al mostrarte el contenido completo de la sesion.

__________________
Manoloweb
  #8 (permalink)  
Antiguo 20/01/2004, 18:42
 
Fecha de Ingreso: agosto-2003
Ubicación: Viña del mar
Mensajes: 280
Antigüedad: 20 años, 8 meses
Puntos: 0
gracias, pero lo prove y me aparece ARRAY(),
y lo prove en control.php y me sale
ARRAY([aut]==>ok), segun eso es que no recibe la informacion de la sesion
  #9 (permalink)  
Antiguo 21/01/2004, 08:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Según la forma que redireccionas . .necesitas (php.ini):

session.use_cookies = 1

y un navegador que acepte cookies

Recuerda también que $_SESSION está disponible desde la versión de PHP 4.1.0 en adelante.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 22:22.