Foros del Web » Programando para Internet » PHP »

consulta con las sessiones

Estas en el tema de consulta con las sessiones en el foro de PHP en Foros del Web. Hola a todos:_ Tengo un sistema que al acceder le pregunta el nombre de usuario y contraseña, funciona bien y llamo a la sesion asi ...
  #1 (permalink)  
Antiguo 17/02/2006, 15:34
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
consulta con las sessiones

Hola a todos:_


Tengo un sistema que al acceder le pregunta el nombre de usuario y contraseña, funciona bien y llamo a la sesion asi

Código PHP:
session_start();
$entrar     $HTTP_POST_VARS['entrar'];
$username     $HTTP_POST_VARS['username'];
$password     $HTTP_POST_VARS['password'];
$query         "select * from usuarios where username='$username' and password='$password'";
$result     $bd->query($query);

if (
$bd->num_row($result)>0)
{
    
    
session_register("validado""username");
    
$_SESSION['validado'] = "yes";
    
$_SESSION['username'] = $username;
    
$_SESSION["ultimoAcceso"]= date("Y-n-j H:i:s"); 
    
header("Location: index2.php"); 

mi consulta es que quiero guardar otras variables en la misma session pero despues quiero eliminarlas despues que haya mostrado una pagina, es posible tener dos sessiones en el mismo servidor, y cuando quiero eliminar la sesion solo eliminar la que tiene las variables de un formulario y no la de autentificacion del usuario, ya que si elimino la sesion se elimina la sesion del usuario y se debe logear de nuevo

espero que me hayan entendido

Saludos

Mauricio
  #2 (permalink)  
Antiguo 17/02/2006, 15:40
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
No eliminas sesiones, eliminas variables de sesion. Esto puedes hacerlo asi:

unset($_SESSION['variable_de_formulario1']);

Las demas variables quedan intactas.
  #3 (permalink)  
Antiguo 17/02/2006, 15:41
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
claro si lo se, pero el problema es cuando tienes una cantidad enorme de variables, eso es el problema

saludos
  #4 (permalink)  
Antiguo 17/02/2006, 18:45
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 384
Antigüedad: 19 años, 3 meses
Puntos: 0
No se si se podrán crear 2 sesiones a la vez (no suena lógico). De todas formas podrías hacer un "truco". En vez de utilizar una cantidad enorme de variables, podrías agrupar un conjunto de variables comunes y pegarlos en un string. Por ejemplo:
Código PHP:
// ahora tienes
$_SESSION['var1'] = "perro";
$_SESSION['var2'] = "gato";
$_SESSION['var 3'] = "hamster";

// juntarlo todo en 1 variable
$_SESSION['var1'] = "perro,gato,hamster";

// luego si quieres recuperarlo, lo separas

$animales split(",",$_SESSION['var1']);
echo 
$animales[0]; // perro
echo $animales[1]; // gato
echo $animales[2]; // hamster 
Sabes por donde quiero ir no? Así, si quieres eliminarlo, con solo hacer un unset($_SESSION['var']) ya habrás borrado todo. Es una idea... ya dirás si te sirve.

Saludos
__________________
m!ketrix
CINE25 - Red Social de Cine
byinspiroh
  #5 (permalink)  
Antiguo 20/02/2006, 07:43
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
si se puede crear 2 sesiones o mas, sólo hay que colocarles nombres distintos.

Código PHP:
<?php
   session_name
("sesion1");
   
session_start();
?>

<?php
   session_name
("sesion2");
   
session_start();
?>

<?php
   
//matar sesion1
   
session_name("sesion1");
   
session_start();
   
session_destroy();
?>
  #6 (permalink)  
Antiguo 20/02/2006, 08:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Yo no usaría dos sesiones .. De hecho en un -mismo script- no puedes acceder más que a una de las sesiones no a las dos simultáneamente y por separado. "session_name()" se define y gestiona como "cabecera" por eso no se puede cambiar de una a otra en un mismo script.

Lo que se puede hacer es enfocar el tema de otra forma, con uso de arrays bidimensionales ...

Por ejemplo

$_SESSION['grupodatos1']=array("dato1"=>$dato1,"dato2"=>$dato2);
$_SESSION['grupodatos2']=array("dato1"=>$dato1,"dato2"=>$dato2);

De esta forma es simple hacer un

unset($_SESSION['grupodatos1']) para deshacerme de todas esas variables.

El acceso a las mismas será como la gestión de un array común.

Un saludo,
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 20:14.