PHP - Session V/s Cookies

 
Vista:

Session V/s Cookies

Publicado por felipe (8 intervenciones) el 14/03/2008 15:33:50
Estimados, espero me puedan ayudar, existe alguna restriccion para las Session con tener activas o desactivas las COOKIES????

Tengo dramas con eso....
Espero me ayuden
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Session V/s Cookies

Publicado por Omar Yépez (224 intervenciones) el 14/03/2008 16:47:25
Las variables tipo COOKIES y las VARIABLES tio $_SESSION tienen el mismo fin que es mantener informacion necesaria de la aplicacion durante la navegacion del usuario ya que recuerda que HTTP es un protocolo sin estado (osea que una peticion es independiente de cualquier otra osea que los datos se pierden por cada peticion al servidor si esos no son guardados en sesion).

La diferencia entre Las COOKIES y las variables de SESSION es quien tiene control sobre ellas.

---En las COOKIES El usuario tiene control sobre ellas ya que puede borrar o modificar el valor de una variable tipo COOKIE desde su navegador, sobre todo si es un usuario con conocimiento y tiene un navegador como FIREFOX con sus plugins que uedes hacer de todo......

---Las Variables de tipo $_SESSIO[] el desarrollador como un WebMaster tiene control sobre ellas y son "los unicos" que deberian poder eliminar o modificar valores sobre ese tipo de variables.....

Lo bueno entre las COOKIES es que como se guardan en el Cliente no Ocupan espacio en Disco en el servidor.....

Lo bueno en las variable $_SESSION es que no existe alguna restriccion si el usuario acepta o no aceta COOKIES.

Lo mejor es usar $_SESSION para validar el caso que dices de tener activas o desactivas las COOKIES...... Pero te sugiero no guardes todo en sesion solo datos sumamente necesarios como el id de un usuario, datos criticos de la aplicacion etc.... ya que si guardas todo en session los archivos de sesion podrian ser muy pesados haciendo lento al servidor y sus aplicaciones.

P.D. Hoy en dia muchas aplicaciones utilizan COOKIES sin importarles tu dilema. Si el usuario no acepta COOKIES pues sencillamente o mandan un mensaje de error o la aplicacion vuelve al principio y listo...... Eso es un problema como el que este activo o no javascript por ejemplo........ Un problema que se nos escapa de las manos ya que esta en decision del TodoPoderoso "USUARIO FINAL".....................

Espero haberte ayudado..........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Session V/s Cookies

Publicado por felipe (8 intervenciones) el 14/03/2008 17:54:23
Muchas gracias por tu tiempo y tu ayuda, entendi varias cosas, pero mira te cuento el problema que tengo.

Al tener el navegador como no permitir COOKIes y en la configuracion del php.ini
la opcion:

Session.Use_cookies=1.

Puedp entrar y trabaja bien el sitio.

Pero si la opcion de

Session.Use_cookies=0.

llega un momento que se pierden las variables de session..


por que puede ser esooo?????
Gracias por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Session V/s Cookies

Publicado por Omar Yépez (224 intervenciones) el 14/03/2008 19:53:50
Ok lo que pasa es que aunque suene raro las variables de $_SESSION[] usan una variable de tipo COOKIE para identificar el id de la SESSION. Si colocas en el php.ini significa no enviar cookies (que es muy diferente que el usuario las acepte), las variables de sessiones no se pierden pero el servidor no podra buscar los datos por que no encuentra la variable COOKIE que identifica la sesion que en PHP si mas no recuerdo se llama PHP_SESID o ses_id o algo asi........

Lo que algunos programadores hacen para resolverlo es pasar el id de la sesion en cada peticion al servidor..... luego identifican la sesion y despues inician la misma osea:

<?php
$varId = $_REQUEST['id']; // por si la peticion es GET o POST

session_id($varId ); // identificas la session

session_start(); // inicias la sesion

/*
* Codigo PHP
*/

?>

P.D.

El id de la session puede ser cualquier String.

si realizas session_start() sin antes session_id($varId ) el servidor creara un nuevo archivo se sesion con una variables aleatoria que el mismo le coloca.

Si tienes alguna otra duda aqui estaremos para responder...........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Session V/s Cookies

Publicado por felipe (8 intervenciones) el 19/03/2008 13:55:54
Hola, sigo con el mismo problema, se me pierden las variables de session.
ej:

realizo la siguiente asignacion.
$_SESSION['carrera']=$Carr;
$_SESSION['Ciudad']=$sede;

en el archivo de carreras.php


luego.

en el siguiente archivo php (asignaturas.php)

$carrera=$_SESSION['carrera'];
$Ciudad=$_SESSION['Ciudad'];

hago un
print_r($_session);

y me muestra

Array();

Pk se perderan los valores de la session???
ha que se debe.

Espero me puedas ayudar.
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar