Tema: Cookies
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/06/2003, 11:34
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Esto no es correcto:
session_start("log");

Si quieres darle un nombre a la sesión . .debes usar:

Código PHP:
session_name("log");
session_start(); 
Por ese orden y siempre que requieras usar variables de sesión ..

Con respecto a la sección de "cookies":

Si no haces un session_start() para luego hacer un session_destroy() .. No vas a borrar la sesión activa que pudiera estar activa ..

Las variables de cookie .. ya que estás usando arrays superglables .. SIGUE usandolos $_COOKIE en lugar de tu $HTTP_COOKIE_VARS ..

Los array's "Superglobales" son eso mismo "GLOBALES" por defecto .. Estas usando una función .. así que el ambito de las variables es "LOCAL" a esa función .. Si usas $HTTP_COOKIE_VARS en tu función, deberas pasarle como parámetro o declarando como global dicho array para que puedas acceder a tus variables de tus cookies .. Por eso te recomiendo que uses $_COOKIE que ya es global por defecto ..

Lo mismo sigue usando isset() en lugar de blabla != "" ...

** NO uses Ñ ni acentos y otros caracteres similares como Nombres de variables! (pese que pudiera funcionar ..)

setcookie("contraseñita");

** Este redireccionamiento:
Código PHP:
header("location: index.php?id1=$id1&id2=$id2&idioma=$idioma&mostrar=$mostrar"); 
exit;
Fijate que hay que usar un espacio entre tu location: yelURLquepongas ...


** por aquí:
session_register("log");
$_SESSION['id'] = $idion;
$_SESSION['contraseña'] = $contrarion

te ocurre lo mismo .. Debes iniciar el uso de sesiones con session_start() y si quieres usar nombre de sesión .. lo has de especificar vía session_name("nombre") antes del sesion_start() ...

Código PHP:
session_name("log");
session_start();
$_SESSION['id'] = $idion;
$_SESSION['contraseña'] = $contrarion
Cuando usas sesiones .. NO es necesario que guardes las contraseñas y luego compararlas en todas tus páginas .. Para eso el SID que se adjudica a cada inicio de sesión es Único .. con que te guardes el "ID" ese de tu usuario sobra .. ya que en tu código sólo miras si está definido o no ...

Te recomiendo que leas el manual oficial de PHP y te aclares con la forma de trabajar con sesiones .. Pues lo que es en ese script tenias (y tienes) un enorrrrmeee liooo).

Otro detalle ..
header("location: index.php?id1=$id1&id2=$id2&idioma=$idioma&mostrar =$mostrar");

Si usas sesiones . No sólo se pueden usan para "validar" a un usuario .. puedes guardar mas datos .. por ejemplo todo ese montón de variables que usas ahí en ese URL .. y leerlas o destruirlas donde y cuando las necesites ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.