Foros del Web » Programando para Internet » Javascript »

Redireccionar a otra página si es la prim

Estas en el tema de Redireccionar a otra página si es la prim en el foro de Javascript en Foros del Web. Tengo una página: Pongamos www.pagina.es Busco quien sería capaz de crear el código para que la primera vez que el cliente acceda a la página ...
  #1 (permalink)  
Antiguo 04/07/2008, 06:58
Bronkias
Invitado
 
Mensajes: n/a
Puntos:
Mensaje Redireccionar a otra página si es la prim

Tengo una página: Pongamos www.pagina.es

Busco quien sería capaz de crear el código para que la primera vez que el cliente acceda a la página ese día le redireccione a www.pagina.es/bienvenido, y que cuando dentro de ese día la vuelva a www.pagina.es vea el contenido normal.

Supongo que será con una Cookie que se cree al acceder a www.pagina.es y dure un día. Por favor, me indican el código?
  #2 (permalink)  
Antiguo 04/07/2008, 07:15
 
Fecha de Ingreso: junio-2008
Ubicación: Valladolid
Mensajes: 38
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Redireccionar a otra página si es la prim

Hola!

Pues lo puedes hacer mediante cookies.
En la página inicial, puedes comprobar si el usuario ya ha estado alguna vez en ella consultando una cookie , a la que llameremos "primeraVez", que se habría escrito sí y solo sí el usuario ya hubiera estado antes.

Esto en el head:

Código HTML:
<script type="text/javascript">
function testFirstTime() {
  // comprueba si hay una cookie primeraVez
  if (getCookie("primeraVez") == "null" || getCookie("primeraVez") == "") {
    setCookie("primeraVez", "1", 365); // va a durar un año
    window.location="bienvenido.html";
  }
}

function setCookie(c_name,value,expiredays) {
// fija una cookie c_name con valor value y caducidad expiredays
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
// comprueba el valor de la cookie c_name
if (document.cookie.length>0)  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1) { 
    c_start=c_start + c_name.length+1; 
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
   } 
  }
return "";
}
</script> 
y esto, al cargar la página, en el body:

Código HTML:
<body onload="javascript:testFirstTime();"> 
Saludos!!
  #3 (permalink)  
Antiguo 04/07/2008, 07:20
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años
Puntos: 2
Respuesta: Redireccionar a otra página si es la prim

Cita:
Busco quien sería capaz de crear el código para que...
No se que opine otra gente del foro, pero me parece una total falta de respeto. Ni siquiera plantea una duda o expone un problema. No demuestra haberlo intentado siquiera o googleado para ver si podía resolverlo el solo...
__________________
Saludoss
Guille
  #4 (permalink)  
Antiguo 04/07/2008, 07:42
Bronkias
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Redireccionar a otra página si es la prim

Te parece una falta de respeto? Mejor míra tu educación antes de exhibirte públicamente, ya me esfuerzo buscando los códigos por muchos sites y por ello sé cuál era el método pero como reconozco que no domino el lenguaje de programación, pido ayuda.

Gracias a JoseLAKALePet que gracias a su ayuda desinteresada que le quita un poco de su tiempo ayuda a muchos como yo.
  #5 (permalink)  
Antiguo 04/07/2008, 07:52
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años
Puntos: 2
Respuesta: Redireccionar a otra página si es la prim

Yo considero que fui respetuoso en mi respuesta, pero me parece que tu contestación no fue la más adecuada. Solo quería hacerte ver que esto:

Cita:
...ya me esfuerzo buscando los códigos por muchos sites...
pero como reconozco que no domino el lenguaje de programación, pido ayuda.
quizás no es lo que deberías hacer. Quizás ganes mucho más (en general, no solo hablo de dinero) concentrando tu esfuerzo en aprender a dominar el "lenguaje de programación" que buscando scripts y pidiendo que otros lo hagan por tí.

Lo que me parece desubicado es que los demás tengamos que hacer el trabajo por el que a tí te pagan, lo que eticamente no es correcto. El foro está para ayudar, no te lo niego, pero creo que no demostraste el suficiente interés en resolver el problema por tu cuenta.

suerte aprendiendo javascript! ;)
__________________
Saludoss
Guille
  #6 (permalink)  
Antiguo 04/07/2008, 08:29
Bronkias
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Redireccionar a otra página si es la prim

Bueno, en parte tienes razón, y intento aprender de lo que me decís, pero no me están pagando por esto xD

No es mi ánimo de buscar discusión en ningún momento, por ello te pido un pequeño favor, me podrías indicar qué parte y cómo tengo que modificar para que la cookie solo dure 5 minutos? Es decir entre, le redireccione y si a los 5 minutos vuelve a la pag principal le vuelva a redireccionar, gracias
  #7 (permalink)  
Antiguo 04/07/2008, 08:43
 
Fecha de Ingreso: abril-2008
Mensajes: 264
Antigüedad: 16 años
Puntos: 2
Respuesta: Redireccionar a otra página si es la prim

Código:
function setCookie(c_name,value,expiredays) {
// fija una cookie c_name con valor value y caducidad expiredays
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
Si te fijas el primer parámetro es expiredays, o sea la cantidad de dias que durará la cookie.
Si avanzas un poco en el código, verás que crea una fecha de expiración que es la fecha actual + la cantidad de dias que durará la cookie, por lo que si le pones 1 dia, expirará mañana.

Deberías cambiar eso para que en vez de recibir "dias" reciba minutos, y armar la fecha para que en vez de sumarle dias le sumes minutos. Investiga el objeto Date de javascript

suerte!
__________________
Saludoss
Guille
  #8 (permalink)  
Antiguo 04/07/2008, 08:55
Bronkias
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Redireccionar a otra página si es la prim

Cita:
<script type="text/javascript">
function testFirstTime() {
// comprueba si hay una cookie primeraVez
if (getCookie("primeraVez") == "null" || getCookie("primeraVez") == "") {
setCookie("primeraVez", "1", 00:05:00); // va a durar un año
window.location="bienvenido.html";
}
}

function setCookie(c_name,value,00:05:00) {
// fija una cookie c_name con valor value y caducidad expiredays
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
// comprueba el valor de la cookie c_name
if (document.cookie.length>0) {
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1) {
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end)) ;
}
}
return "";
}
</script>
Creo que he hecho un lio ahí verdad?
Por favor me puedes escribir el código bien para que la cookie dure 5 min? De verdad viendo cómo lo hace gente que sabe es como mejor aprendo, gracias
  #9 (permalink)  
Antiguo 04/07/2008, 10:11
Bronkias
Invitado
 
Mensajes: n/a
Puntos:
Pregunta [Básico]Cambiar la duracion Cookie

Tengo este código:

Cita:
<script type="text/javascript">
function testFirstTime() {
// comprueba si hay una cookie primeraVez
if (getCookie("primeraVez") == "null" || getCookie("primeraVez") == "") {
setCookie("primeraVez", "1", 365); // va a durar un año
window.location="bienvenido.html";
}
}

function setCookie(c_name,value,expiredays) {
// fija una cookie c_name con valor value y caducidad expiredays
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}

function getCookie(c_name) {
// comprueba el valor de la cookie c_name
if (document.cookie.length>0) {
c_start=document.cookie.indexOf(c_name + "=");
if (c_start!=-1) {
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;
return unescape(document.cookie.substring(c_start,c_end)) ;
}
}
return "";
}
</script>
Me lo pueden dejar escrito para que dure solo 5 minutos la cookie? Necesito que en vez de durar un año dure solo 5 minutos

Les lleva un minuto ponerlo, muchas gracias

Última edición por Bronkias; 05/07/2008 a las 09:21 Razón: Especificación
  #10 (permalink)  
Antiguo 04/07/2008, 17:10
Avatar de JoniJnm  
Fecha de Ingreso: mayo-2007
Ubicación: Madrid
Mensajes: 264
Antigüedad: 17 años
Puntos: 4
Respuesta: [Básico]Cambiar la duracion Cookie

En php:
Código PHP:
<?php
setcookie
("TITULO""VALORES"time() + 60*5); //60 segundos por 5 minutos
?>
En javscript no sé, pero si dices que:
setCookie("primeraVez", "1", 365); // va a durar un año

Entonces
setCookie("primeraVez", "1", 1); // va a durar un dia

Por lo cual:
setCookie("primeraVez", "1", 5/(24*60)); // va a durar cinco minutos
  #11 (permalink)  
Antiguo 05/07/2008, 06:51
Bronkias
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: [Básico]Cambiar la duracion Cookie

No me funciona, gracias igual por el esfuerzo.

Por favor alguien que sepa de Javascrip puede tomarse 3 segundos para indicarme qué poner para que en vez de un año dure 5 min?

Gracias
  #12 (permalink)  
Antiguo 05/07/2008, 10:08
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Respuesta: [Básico]Cambiar la duracion Cookie

Hola Bronkias:

No es tan sencillo como tres segundos . Deberías coger una función ya hecha a tu medida si no sabes modificar una que consigues. Ésta, por ejemplo, la obtuve googleando de: http://techpatterns.com/downloads/ja...pt_cookies.php

Código PHP:
// escribir en el documento una ristra (x)html fuera de tiempo de ejecución.
function e(q,sinBR) {
    var 
elDIV document.createElement("DIV");
    if(
q==undefinedq="";
    if(!
sinBRq+="<br/>";
    
elDIV.innerHTML q;
    for(var 
a=0elDIV.childNodes.length>aa++) {
        
document.body.appendChildelDIV.childNodes[a].cloneNode(true) );
    }
}

function 
Set_Cookienamevalueexpirespathdomainsecure )  {
    
// set time, it's in milliseconds
    
var today = new Date();
    
today.setTimetoday.getTime() );
    
/*
    if the expires variable is set, make the correct 
    expires time, the current script below will set 
    it for x number of days, to make it for hours, 
    delete * 24, for minutes, delete * 60 * 24
    */
    
if ( expires )
    {
    
//expires = expires * 1000 * 60 * 60 * 24;            // modifico tal y como dice para meter el dato en minutos
    
expires expires 1000 60;
    }
    var 
expires_date = new Datetoday.getTime() + (expires) );

    
document.cookie name "=" +escapevalue ) +
    ( ( 
expires ) ? ";expires=" expires_date.toGMTString() : "" ) + 
    ( ( 
path ) ? ";path=" path "" ) + 
    ( ( 
domain ) ? ";domain=" domain "" ) +
    ( ( 
secure ) ? ";secure" "" );
}


e"cook: "+document.cookie );
Set_Cookie"hola""mundo");
var 
0;
setInterval( function() {
    
n+=10;
    
e"document.cookie cuando han pasado "+n+" segundos: "+document.cookie ); 
}, 
10000 ); 
La he hecho durar un minuto para el ejemplo.

Saludos.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #13 (permalink)  
Antiguo 06/07/2008, 06:25
Bronkias
Invitado
 
Mensajes: n/a
Puntos:
Pregunta Respuesta: Redireccionar a otra página si es la prim

Alguien puede pasar ese código para que dure la cookie 5 minutos en vez de un año?

Gracias, porque parece que nacie consigue que funcione
  #14 (permalink)  
Antiguo 06/07/2008, 07:55
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Respuesta: Redireccionar a otra página si es la prim

Temas unidos. No está permitido abrir dos temas para la misma duda.

¿Has leído la respuesta de derkenuke?

Saludos,
  #15 (permalink)  
Antiguo 07/07/2008, 00:09
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Redireccionar a otra página si es la prim

Checate este tutorial sobre coockies.
__________________
twitter: @imbuzu
  #16 (permalink)  
Antiguo 10/07/2008, 12:04
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Redireccionar a otra página si es la prim

hola,
Código HTML:
function setCookie(c_name,value,expiredays) {
var exdate=new Date();
exdate.setMinutes(exdate.getMinutes()+expiredays); 
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
Ps
configuramos
los seg a los que hay + 5

Código HTML:
setCookie("NUEVA","lol",5);  // 5minutos
saludos
:]
__________________
Aerolíneas Alicia :D
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 01:37.