Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Duda acerca de las Cookies

Estas en el tema de Duda acerca de las Cookies en el foro de PHP en Foros del Web. Acabo de crear mi propia página web, y estoy empezando con la fase de compatibilidad, estoy creando dos páginas web diferentes, una para IE (ya ...
  #1 (permalink)  
Antiguo 14/07/2013, 18:55
 
Fecha de Ingreso: agosto-2012
Mensajes: 77
Antigüedad: 11 años, 8 meses
Puntos: 0
Pregunta Duda acerca de las Cookies

Acabo de crear mi propia página web, y estoy empezando con la fase de compatibilidad, estoy creando dos páginas web diferentes, una para IE (ya que unas cosas son incompatibles) y la otra versión de la página para el resto de los navegadores. Usé la función $_SERVER['HTTP_USER_AGENT'] y me funcionó de maravilla.

Ahora mi problema es que, quiero hacer que aparezca un mensaje si las cookies están bloqueadas o desactivadas, un mensaje como "Activa las cookies para iniciar sesión", esto para que (por si el usuario lo tiene desactivado o bloqueadas las cookies) el usuario permita esas cookies.
  #2 (permalink)  
Antiguo 15/07/2013, 02:28
Avatar de exatienda  
Fecha de Ingreso: julio-2013
Ubicación: Manresa, Barcelona
Mensajes: 227
Antigüedad: 10 años, 9 meses
Puntos: 21
Respuesta: Duda acerca de las Cookies

Inserta este código Javascript en tu web:

Código:
<script type="text/javascript">
    function createCookie(name, value, days) {
        var expires;
        if (days) {
            var date = new Date();
            date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
            expires = "; expires=" + date.toGMTString();
        }
        else expires = "";
        document.cookie = name + "=" + value + expires + "; path=/";
    }

    function readCookie(name) {
        var nameEQ = name + "=";
        var ca = document.cookie.split(';');
        for (var i = 0; i < ca.length; i++) {
            var c = ca[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
        }
        return null;
    }

    function eraseCookie(name) {
        createCookie(name, "", -1);
    }

    function areCookiesEnabled() {
        var r = false;
        createCookie("testing", "Hello", 1);
        if (readCookie("testing") != null) {
            r = true;
            eraseCookie("testing");
        }
        return r;
    }
</script>
Para llamar a la función ejecuta:

Código:
<script type="text/javascript">
    alert(areCookiesEnabled());
</script>
__________________
cajas rack tpvs | impresoras
  #3 (permalink)  
Antiguo 15/07/2013, 03:05
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Duda acerca de las Cookies

Un poco más fácil:
Código HTML:
Ver original
  1. <script type="text/javascript">
  2. if(!navigator.cookieEnabled) {
  3.       alert('Por favor activa las cookies en tu navegador para poder iniciar sesión.');
  4. }

El problema es que tal vez también javascript esté desactivado en el navegador, en ese caso, la sugerencia puede ser:

1- Cuando muestras el formulario de inicio de sesión trata de crear una cookie
2- Lee la cookie cuando proceses el formulario
3- Si no existe la cookie y los datos son correctos, crea otra más y redirige a otra página donde sólo vas a revisar esta última cookie, si no existe, entonces muestras un mensaje para pedirle al usuario que las active
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 15/07/2013, 08:48
 
Fecha de Ingreso: agosto-2012
Mensajes: 77
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Duda acerca de las Cookies

Muchas Gracias a los 2 , ambas aportaciones me sirvieron , nunca los voy a dejar de agradecer

Etiquetas: acerca, cookies
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 23:17.