Foros del Web » Programando para Internet » PHP »

Problema de autentificación (con cookies)

Estas en el tema de Problema de autentificación (con cookies) en el foro de PHP en Foros del Web. Hola a todos. Tengo algo mal en mi código, y no sé que puede ser.. Tengo una página, que setea una cookie si user/pass están ...
  #1 (permalink)  
Antiguo 24/12/2003, 19:07
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Problema de autentificación (con cookies)

Hola a todos.

Tengo algo mal en mi código, y no sé que puede ser..

Tengo una página, que setea una cookie si user/pass están correctos, después otra que recoge la cookie y mira de nuevo si los user/pass de dicha cokkie son correctos, y solo después muestra el contenido.

Pongo lo que tengo, o donde puede estar el error.. :p

seteacookie.php:
Código PHP:
..
<?php
 
if($u==$adminuser && $p==$adminpass) {
 
$cok=",$u,$p";
 
setcookie("cmadmin",$cok,time()+172800);
?>
..
recoge.php:
Código PHP:
..
<?php
require("../config.php");
$cok=$HTTP_COOKIE_VARS["cmadmin"];
$cok=explode(',',$cok);
$u=$cok[1];
$p=$cok[2];
if(
$u==$adminuser && $p==$adminpass) {
 
// Muestra algo
} else {
 include(
"login.php");
}
?>
..
Si alguien podría decirme qué puede estar mal se lo agradecería.
Y otra cosa ya que estoy.. Como vereis, para que me haga bien el explode, pongo una coma al principio del valor de la variable. Hay alguna manera de hacerlo para que, sin poner esa coma, me siga sacando el primer valor?.
Es decir, si lo pongo así: algo,algomas,ymas. Los que me da $var[1] al hacer el explode es algomas y... De momento pongo la coma al principio para que lo haga como quiero..
No es nada dramático, pero es mas que nada por curiosidad :p.

Saludos a todos =).
__________________
(:
  #2 (permalink)  
Antiguo 26/12/2003, 19:36
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Lo que pasa es que el primer índice del array que genera el explode es CERO. Si no pones la coma inicial, debes acceder al primer elemento como $cok[0].

En "seteacookie.php" falta la llave de cierre (}).

Otra cosa... si tu versión de php es por lo menos la 4.1... mejor utiliza $_COOKIE["cmadmin"] en lugar de $HTTP_COOKIE_VARS["cmadmin"]...

No sé si lo que te puse solucionará tu problema... por favor da un poco más de detalles sobre por qué no funciona (mensajes de error, etc) si no, nos vamos a pasare adivinando...

Saludos
  #3 (permalink)  
Antiguo 28/12/2003, 08:30
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Mas que problema de código era mi cabeza :p. El código estaba bien (lo del } venía después de ?> html.. <? }..).

Gracias por lo del índice del array :D.

Saludos.
__________________
(:
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 12:31.