Foros del Web » Programando para Internet » PHP »

soy novato en PHP y quiero hacer sessiones

Estas en el tema de soy novato en PHP y quiero hacer sessiones en el foro de PHP en Foros del Web. hola gente soy un novato en programación en general y concretamente estoy haciendo una aplicación en PHP y MySQL pero se me pierden datos al ...
  #1 (permalink)  
Antiguo 18/03/2004, 08:43
Avatar de saopaore  
Fecha de Ingreso: marzo-2004
Ubicación: barcelona
Mensajes: 16
Antigüedad: 20 años, 1 mes
Puntos: 0
Información soy novato en PHP y quiero hacer sessiones

hola gente soy un novato en programación en general y concretamente estoy haciendo una aplicación en PHP y MySQL pero se me pierden datos al pasarlos por URLs vamos por pura negligencia y pereza de ir pasando TODAS LAS VARIABLES EN CADA ENLACE a parte que me genera unos chorizos enormes de código y que cuando se refresca una ventana se han perdido datos, he oído que existe algo llamado ¿sesiones? pero mi manual de php lo único que ha conseguido ha sido crearme mas dudas agradecería que alguien me informada un poco mas sobre el tema y me explicarais cosas sobre las sesiones y si puede ser me útil para evitarme esas carretadas. De forma provisional estoy haciendo una ¿seudosesion? que consiste en crear una tabla en la base de datos llamada variables y allí guardo la en el primer campo la IP del usuario previamente sacada por un SCRIPT PHP que si hay alguien interesado se lo puedo dar , en el segundo el nombre de la variable y en el tercero el valor de la misma y cada vez que quiero rescatar cualquier variable hago un query a la db y la saco de allí, cuando esas variables ya no se utilizan mas ,cojo y [B]borro todos los registros de la db cuya IP sea la del usuario , eso seria, si no me equivoco, lo que haría un session_destroy()?? se que no es un método muy útil, y es un engorro cada vez ir buscando la variable que deseo en la db ... pero mi nivel de php aun no me permite hacer muchas cosas mas
muchas gracias a todos por vuestra paciencia y espero que alguien me responda pronto y agradecer a todos los que publican scripts en php y los difunden ... me están ayudando machismo
__________________
SAO
  #2 (permalink)  
Antiguo 18/03/2004, 09:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Tu sistema como comentas podría ser una "psudo sesión" .. el problema que plantea tu sistema es que asocias la sesión del usuario por IP .. Eso te puede plantear problemas seríos .. por ejemplo que un cliente no pueda abrir más sesiones a la vez (en su PC) .. o peor aun que X usuarios entren bajo la misma IP (caso de compartir internet bajo un proxy ...)

Para solventar ese problema se usan Identificadores únicos .. Un código aleatorio y que sea único para cada sesión y será ese el que debas relacionar en tu BD al hacer la consulta. En tu aplicación lo único que tendrías que propagar en links seria ese ID de sesión o bien hacerlo en cookies (guardando ese ID en una variable en una cookie).

El caso es que eso mismo que te propongo ya lo hace y gestiona PHP con sus sesiones (eso sí, por defecto usa archivos de texto plano para almacenar los datos de tus variables de la sesión activa, pero se puede cambiar el "handdler" para que use en lugar de archivos de texto plano .. Base de datos).

Revisa las FAQ's del foro .. donde veras algunos ejemplos de uso de sesiones .. y, en tu "libro" revisa el tema del "SID" (identificador único de sesión) .. el cual es insprencindible saber que es (parte ya lo he intentado explicar aquí) y que se ha de propagar de alguna forma entre tus scripts que requieran usar esas variables que almacenas en una sesión: ya sea manualmente/automáticamente en todos tus links .. o en cookies) Para esto es necesario conocer la configuración de PHP (tema sesiones) que usas .. ya que de esta depende como podras programar sesiones en tu servidor concreto.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 25/03/2004, 11:02
Avatar de saopaore  
Fecha de Ingreso: marzo-2004
Ubicación: barcelona
Mensajes: 16
Antigüedad: 20 años, 1 mes
Puntos: 0
muchas gracias cluster me ha servido de gran ayuda me alegra que alguien lo haya contestado !! revisare los temas que me indicas y leere las FAQ y respecto a la IP del proxy el script que hago me saca la IP del proxy y la real !!
este es el script que utilizo para obtener la IP
Código PHP:
<?php
 
if (isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) 
 { 
   
$nip $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
   
$array split(", "$nip);
   
$IP $array[0];
   
$host = @gethostbyaddr($IP);
   echo 
"Tu dirección IP: ";
   echo 
$nip;
   
$IPProxy $HTTP_SERVER_VARS["REMOTE_ADDR"];
   echo 
" Estas navegando a través de un servidor proxy-cache: ";
   echo 
$IPProxy;
  }
  else
  {
    
$IP $HTTP_SERVER_VARS["REMOTE_ADDR"];
    
$host = @gethostbyaddr($IP);
    echo 
"Tu dirección IP: ";
    echo 
$IP;
  }
?>
__________________
SAO
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:45.