PHP - Manejo de cookies

 
Vista:
Imágen de perfil de Manuel
Val: 73
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Manejo de cookies

Publicado por Manuel (24 intervenciones) el 02/07/2019 18:49:26
Hola, quiero mostrar este modal 2 veces y que no vuelva a salir hasta 24 horas pasadas
Esto es lo que llevo pero solo muestra una vez, realmente no se como hacer para que se muestre dos veces, si alguien mepuede ayudar se lo agradeceria.

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php session_start();
  # Iniciando la variable de control que permitirá mostrar o no el modal
  $exibirModal = false;
  # Verificando si existe o no la cookie
  if(!isset($_COOKIE["mostrarModal"]))
  {
    # Caso no exista la cookie entra aquí
    # Creamos la cookie con la duración que queramos
    $expirar = 86400; //escribir tiempo en segundos para la variable
    setcookie('mostrarModal', 'MostrarModal:Si', (time() + $expirar)); // mostrará cada 24 horas. antes lo tenia solo 12 horas.
    # Ahora nuestra variable de control pasará a tener el valor TRUE (Verdadero)
    $exibirModal = true;
  }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Joan
Val: 180
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Manejo de cookies

Publicado por Joan (21 intervenciones) el 02/07/2019 22:17:49
Hola Manuel, no se ver donde muestras el modal?
Aquí solo haces la gestión de la cookie, no?
Tampoco se ver donde cuentas las dos veces...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Manuel
Val: 73
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Manejo de cookies

Publicado por Manuel (24 intervenciones) el 02/07/2019 23:41:30
Buenas tardes, dejo el codigo del modal es con bootstrap
Y lo del conteo no se como hacerlo por esta razon decidi pedir ayuda por aqui e ir investigando por google si encuentro algo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<div class="container">
    <!-- Modal -->
    <div class="modal fade" id="modalInicio" role="dialog">
    <div class="modal-dialog">
        <!-- Modal content-->
       <div class="modal-content">
         <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">Linea de soporte</h4>
         </div>
         <div class="modal-body">
                  <!-- Tarjeta -->
                  <div class="tarjeta">
                  <!-- Foto -->
                  <div class="imagen">
                      <img src="images/soporte universidad de energia solar.webp" alt="Soporte universidad de energia solar y la escuela casa solar">
                  </div>
                  <!-- Texto -->
                  <div class="texto">
                      <p>Linea de soporte</p>
                      <h4>Horario de atencion</h4>
                      <h4> De 8:00am a 1:00pm</h4>
                      <h4> De 2:00pm a 5:00pm</h4>
                      <h4>Fernanda Ortiz</h4>
                  </div>
                  <!-- Iconos -->
                  <div class="icono">
                      <a href="tel:+***"><img src="images/llamada icono.webp" alt="numero de contacto"></a>
                      <a href="https://wa.me/***"><img src="images/whatsapp icono.webp" alt="enlace de whatsapp"></a>
                      <a href="mailto:***@gmail.com" ><img src="images/correo icono.webp" alt="correo de contacto"></a>
                  </div>
                  </div>
         </div>
         <div class="modal-footer">
            <button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
          </div>
        </div>
      </div>
    </div>
  </div>
<?php if($exibirModal === true) : // Si nuestra variable de control "$exibirModal" es igual a TRUE activa nuestro modal y será visible a nuestro usuario. ?>
<script>
$(document).ready(function()
{
// id de modal
$("#modalInicio").modal("show");
});
</script>
<?php endif; ?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Manuel
Val: 73
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Manejo de cookies

Publicado por Manuel (24 intervenciones) el 09/07/2019 22:13:58
Por si a alguien le sirve en un futuro el código quedo así
Cree el contador de visitas por usuarios y cuando este llegue a dos me active la Cookie del modal para prevenir que se muestre mas de dos veces.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$expirar = 86400; //escribir tiempo en segundos para la variable
 
if($_COOKIE['contador']){
  setcookie('contador',$_COOKIE['contador']+1, time()+$expirar);
}else{
  setcookie('contador', 1, time()+$expirar);
}
 
$exibirModal = true;
 
if($_COOKIE['contador'] >= 1){
 
# Iniciando la variable de control que permitirá mostrar o no el modal
$exibirModal = false;
 
  if(!isset($_COOKIE["mostrarModal"])){
    # Caso no exista la cookie entra aquí
    setcookie('mostrarModal', 'MostrarModal:Si', (time() + $expirar)); // mostrará cada 12 horas.
    # Ahora nuestra variable de control pasará a tener el valor TRUE (Verdadero)
    $exibirModal = true;
  }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar