Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/07/2003, 12:34
leonardop
 
Fecha de Ingreso: julio-2003
Mensajes: 165
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola,

Aparentemente, el problema está relacionado con un descuido a la hora de indicar los nombres de las cookies. Por ejemplo, una sentencia como ésta:

Código:
echo $HTTP_COOKIE_VARS['$Cliente[0]'];
Hace referencia a una cookie que tenga como nombre `$Cliente[0]', y no el valor del elemento cero del arreglo $Cliente, como quizás esperas. Esto es debido a que has colocado $Cliente[0] entre comillas sencillas, que no realizan interpolación con valores de variables. El ejemplo dado por nuestro amigo kaslimon es válido, ya que utiliza `Cliente[0]' y `Cliente[1]' como nombres de cookies, y los usa consistentemente.

Como alternativa, te puedo presentar el siguiente ejemplo; una ligera variación de los segmentos de código que has publicado:

Código:
<?php

// Valores de ejemplo

$Cliente = array ('codigo', 'usuario');  // Nombres para las cookies

$row_usuario = array ('CodClie' => '1234',
                      'UsrClie' => 'pepito');


// Segmento para reconocer si existe una cookie

if (isset ($HTTP_COOKIE_VARS[$Cliente[0]])) {
    $cookie = true;
    echo 'funciona: ' . $HTTP_COOKIE_VARS[$Cliente[0]];
} else {
    $cookie = false;
} 


// Segmento para establecer cookies

if (! $cookie) {
    setcookie($Cliente[0], $row_usuario['CodClie'], time () + 86400 * 365); 
    setcookie($Cliente[1], $row_usuario['UsrClie'], time () + 86400 * 365);

    print "Se acaban de establecer un par de cookies\n";
}

?>
Un cordial saludo.