Ver Mensaje Individual
  #11 (permalink)  
Antiguo 22/11/2005, 10:53
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Te equivocas en ciertos aspectos, porque en mi error_log del servidor donde estoy alojado te aseguro que no aparece el aviso Notice si pongo @. Igual que evito el error en pantalla si lo tengo deshabilitado así en php.ini, evito el error en el log si pongo a off la visualización de errores en pantalla y habilito el archivo log de errores.
En mi caso siempre ví el "Notice" si activo el "log" de errores .. No sé que combinació usé .. Pero con el "dichoso" if() "preguntando" si existe o no la variable te evitas ese notice en cualquier caso. Por lo demás .. si usas la función error_reporting() (www.php.net/error_reporting) configurada a un nivel más bajo de reporte de errores te evitas por completo usar @ para no mostrar mensajes de error que igualmente personalizas tus mensajes aprovechando de que la mayoría de función de PHP ante un error devuelve un "false" (por eso lo usas bajo tus condicionales ..)

Cita:
Si no de qué serviría @? @ por lo que sé es una directiva para el manejo de errores y para que se puedan personalizar y visualizar de una forma más "elegante".
Justamente la @ está para usarlo en casos puntuales .. si lo vas a usar en TODO el script mejor usar error_reporting().

Cita:
Pero a ver, yo en el fondo lo que quisiera saber es cual es la forma usual de implementar esto de "recordar los datos de conexión del usuario", aunque no tenga nada que ver con cómo lo intento hacer yo. Nada más. Cómo lo harías tu por ejemplo a grandes rasgos? Es que aun sigo sin saber cómo implementarlo.
Por mi parte te expliqué como he visto que trabajan sistemas así (estos foros por ejemplo lo hacen así):

Cita:
La validación (el psudo-código o flujo) sería algo así:
1) Verificas la existencia de tus variables de sesión ... lo cual indicará una sesión activa o no.
1) Si no existe la sesión: Verificas tus valores (usuario/password) de tu cookie.
Si existe, usastes la opción "recordar" .. Tomas tus valores de tu cookie y en base a esos autentificas (contra tu BD o donde gestiones tus usuarios) y generas las variables de sesión como de costumbre. El sistema seguirá validando principalmente por tus variables de sesión y usará las sesiones para todo su proceso de tu aplicación.
3) No sé si usaras el mismo script para la autentificación desde tu formulario HTML de login .. pero si es así atacará esa validación al mismo proceso que haces si tomas los valores de tu cookie.
Cita:
La página de php.net ya la había visto, y con ello sé el funcionamiento básico de una cookie, y que si pongo false o 0, no hay expiración.
No, justamente con si no defines el parámetro de tiempo de expiración la cookie durará lo que tardes en salir de tu última página de tu sitio. Se denominan (si no me equivoco) cookie de "sesión" y cuando defines tiempo de expiración se denominan "persistentes". No hay cookie con tiempo de vida "infinito" sino que defines un tiempo de expiración de "años" simplemente si es que no quieres que aparentemente nunca muera dicha cookie.

http://www.allaboutcookies.org/cooki...-used-for.html


Cita:
Pero no habla de cómo usar la cookie en este caso de recordar autenticación.
Bueno .. el manual oficial de php.net es de "referencia" .. Es más probable que veas un comentario sobre alguna técnica concreta como la que quieres hacer en libros como los de "Luke Welling y Laura Thomson" o si visitas algunas web's de artículos sobre PHP como las que en las FAQ's tienes mencionadas:

http://www.forosdelweb.com/showthrea...936#post238936

Un saludo,