Foros del Web » Programando para Internet » PHP »

Duda principiante

Estas en el tema de Duda principiante en el foro de PHP en Foros del Web. Hola, soy principiante en esto del PHP y mi duda es la siguiente: cómo hago para que el usuario entre a una página y le ...
  #1 (permalink)  
Antiguo 25/07/2004, 01:36
 
Fecha de Ingreso: noviembre-2003
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Duda principiante

Hola, soy principiante en esto del PHP y mi duda es la siguiente: cómo hago para que el usuario entre a una página y le quede una cookie que indique ya pasó por ahí y de esa forma, cuando vuelva a entrar a esa página se detectará el cookie y eso lo redireccionará a otro lugar. Espero haya quedado claro.

Supongo que es algo fácil, pero la verdad, la verdad no sé coo hacerlo.

Gracias
  #2 (permalink)  
Antiguo 25/07/2004, 01:55
Avatar de mafima  
Fecha de Ingreso: abril-2003
Ubicación: Medellin-Colombia
Mensajes: 1.109
Antigüedad: 14 años, 8 meses
Puntos: 24
ahi va

te recomiendo que veas el manual oficial de php (php.net)

quedaria algo como:

-----para grabar la cookie------

setcookie("nombre","contenido",periodo para expirar);

nota: el perioda para expirar es en segundos... y podias tambien utilizar la funcion time() por ejemplo: time()+60 //esto haria que la coockie expire en un minuto

es importante que tengas encuenta que la duncion setcookie debe ser utilizada antes de cualquier salida al navegador.

despues de tener la cookie ya pasa automaticamente a estar disponible asi que podrias utilizarla como cualquier varible utilizando su nommbre en nuetro ejemplo seria valido poner asi:

echo $nombre;

es recomendable que utilices :

echo $HTTP_COOKIE_VARS["nombre"];

asi te aseguras de que la informacion obtenida si es de una cookie... esta ultima creo que solo esta disponible apartir de la version 4.1

por otro lado. para lo de la redireccion utiliza header eso si es mas facil y ya depende de lo que necesites
__________________
SEO en Medellin
  #3 (permalink)  
Antiguo 25/07/2004, 02:16
 
Fecha de Ingreso: noviembre-2003
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
¿que hay de malo en esto?

Ya traté con este código y no me funciona, QUE DEMONIOS ESTÁ MAL???

<?php
setcookie("ya_vio",$HTTP_COOKIE_VARS["ya_vio"],time()+3600*24*7);
?>
<?php
if(isset($HTTP_COOKIE_VARS["ya_vio"]))
{
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"0; URL=direccion_x\">";
}
?>
  #4 (permalink)  
Antiguo 25/07/2004, 11:55
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Las cookies NO quedan disponibles hasta la próxima petición que hagas a tu servidor (sea de una página, una recarga de la página .. etc).

Así que no puedes esperar hacer un "setcookie()" (definier una cookie) en un script .. y en el mismo script (flujo de código) pretender leer su valor).

Por lo demás .. para redireccionar mejor usa desde PHP:

Código PHP:
header ("Location: pagina.tal");
exit; 
En resumen .. podrías hacer algo tipo:

Código PHP:
<?
if (isset($_COOKIE['ya_vio'])){
   
// redireccionas 
   
header ("Location: tal_sitio.php");
   exit;
} else {
   
// Creas la cookie con algún valor .. el valor si no te interesa por qué te basas en la existencia de la cookie .. OK, pero algo le tienes que dar lo uses o no lo uses.
  // El cálculo que haces para dar tiempo de expiración .. mejor calculalo a mano y lo usas ahí .. No hagas más procesos a PHP cuando sabes que el resultado es siempre el mismo. Optimizas tus aplicaciones.
   
setcookie("ya_vio","valor",time()+604800);
}
Debes usar este código antes de todo tu HTML que pudieras tener ..

Un saludo,
  #5 (permalink)  
Antiguo 25/07/2004, 21:20
 
Fecha de Ingreso: noviembre-2003
Mensajes: 16
Antigüedad: 14 años
Puntos: 0
Mil, mil, miiiiil gracias!!!!
Si funcionó
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 07:22.