Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/09/2008, 00:53
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Necesito una opinion general

Bueno, estoy trabajando en un proyecto... y dejen les explico antes de exponer un consejo que me dieron (personalmente sin sentido) y que ademas, no pienso decir quien fue.... gracias


El punto, es que necesitamos dejar un servicio como anónimo si no se registra antes... bueno, para esto usamos sesiones... propias, en archivos serializados...

El problema radica en que se guardan usando la dirección del IP (o algo así) pero ahí es donde radica el problema... ya que se resetea el DSL y cambia de IP, osea... no hay sesión de nuevo :(


Pero se me ocurrió, dejar un cookie en el navegador con el ID de la sesión actual... si el IP se cambia, el sitio detecta la cookie con la sesión antigua.... copiándose sobre la sesión nueva y eliminando la obsoleta, debe funcionar... o no???

Esa es mi primer duda, debería funcionar.... según lo creo, pero... que piensan??


--

Pasemos a lo segundo, un amigo me decía que con agregar las dos lineas (que están comentadas [las del $save]) debería funcionar....

Porque -textual- "todas las funciones agrupan en blokes con arrays y return al final" (así me dijo el)

En si, su mensaje era este.... que cuando se trabajan muchos datos dentro de una función, necesitas una array al principio de la función.... y luego devolverlo, aunque en este caso... no es necesario y esta vacio!!

Debo mencionar, que esta no es una función natural... es mas bien, un método de una clase... no mas

y la verdad, me gustaría que analizaran el código y me dijeran si puede ser cierto...


Código PHP:
/**
 * (datos)
 *
 * Guarda la sesion, si hay datos son agregados.
 */
function save($data null)
{
//    $save = array();  <------- LINEA 1
    
if (is_array($data) || is_object($data))
    { 
// Inclusive, sobre-escribimos...
        
foreach ($data as $key => $val)
        {
            if (
is_numeric($key))
            { 
// solo cadenas...
                
return;
            }
            
$this->_data[$key] =& $val// xS
        
}
    }
    
write(tempfile('session'.DS.$this->_name),
            
serialize($this->_data));
    
    if (
cookie('session') !== $this->_name)
    { 
// guardamos por cookie/IP?
        
cookie('session'$this->_name864000);
    }
//return $save; <---------- LINEA 2


PDTA: la verdad, creo que no sirve para nada... ni siquiera interviene en absolutamente nada en el código real.... xS



--



NOTA: igualmente, me gustaría que comentaran... alguna otra metodología de conservar una sesión entre IP (si se puede!! ... si se puede!!!)

Gracias
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 10/09/2008 a las 01:11 Razón: ortografia