Jump to content
Mateus Duarte

COMO MOSTRAR NOTIFICAÇÃO COM BASE NA DATA E HORA

Recommended Posts

Preciso de uma ajuda para meu TCC. Estou criando um projeto, onde vai ter 2 niveis de usuario.
Nivel 1 = Paciente

Nivel 2 = Medico

 

Tem um formulário que o medico cadastra o remédio e o horário do paciente.
Eu gostaria que quando o relógio do servidor ou computador(tanto faz), fosse igual ao do horario cadastrado do banco de dados, ele mostrasse uma notificação, igual ao do facebook/WhatsApp.
 

pushexample.png.55f2b48a3bfea9f400c5ee10013a0039.png

 

Obs: Se for difícil de explicar, eu pago para me ajudar, eu realmente preciso dessa funcionalidade no meu projeto :) , ainda coloco como agradecimento no meu TCC kkkk

Share this post


Link to post
Share on other sites

Para resolver a questão, envolve algumas áreas. Basicamente:

  • Executar/Localizar a notificação na hora em que ela deve ser exibida;
  • Enviar a notificação para o browser;
  • Exibir a notificação.

Essa ser a ordem dos fatores, entretanto, é mais fácil entender/estudar na ordem inversa.

 

Notificações

Primeiro, como exibir a notificação:

https://developer.mozilla.org/en-US/docs/Web/API/Notifications_API/Using_the_Notifications_API

 

Essa é aquela notificação que o browser pede autorização e exibe mesmo com o browser minimizado. É a mesma utilizada aqui pelo fórum.

 

Conexão Browser x Servidor

Após, o servidor (em consequência o PHP) não consegue enviar nada para o browser sem que este solicite, logo, você precisa manter um canal de conexão do browser com o servidor. Para isso, você pode estudar um destes assuntos abaixo:

 

WebSocket

https://pt.stackoverflow.com/questions/105422/como-o-websocket-funciona-no-php

http://rafaelcouto.com.br/chat-simples-utilizando-websocket-vue-js-e-php/

http://gustavobeavis.github.io/blog/2014/09/11/web-socket-php/

 

Long Polling:

https://forum.imasters.com.br/topic/514338-conexão-automática-com-ajax-excede-o-limite-de-conexões-do-banco/?tab=comments#comment-2040896 (código funcional)

http://rberaldo.com.br/server-push-long-polling-php-ios/

https://imasters.com.br/back-end/dicas-para-melhorar-o-long-polling-com-php

 

WebSocket de longe é o mais recomendado. Entretanto, Long Polling é muito fácil de entender e, se a sua aplicação não espera ter centenas de usuários simultâneos, ela faz o seu trabalho.

 

Localização da notificação

Devido ao fato que, a sua aplicação mantem uma conexão aberta com o servidor (seja WebSocket ou Long Polling), basta que você consulte no banco de dados e retorne quando houver uma notificação. Se você olhar o primeiro link de long polling, verá como isso funciona.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By k9studio
      Olá Amigos,
      se alguem puder dar um help fico muito grato
      seguinte:
      estou criando um sistema de login com cookie
      todas as paginas fica no patch
      www/htdocs/script/
      quando logar no dominio.com.br liberar o acesso no  cliente.dominio.com.br tambem
      acesso:dominio.com.br
      ou
      quando logar no cliente.dominio.com.br liberar o acesso no dominio.com.br tambem
      acesso:cliente.dominio.com.br
      e guando deslogar quebrar conxao com os dois
      existe uma maneira de fazer isso?
       
    • By Kefatif
      Prezados boa tarde.
       
      Preciso bloquear a edição de um date input de forma que só seja possível selecionar a data através do calendário.
       
      Alguém pode me ajudar?
       
      Utilizo php, html e js.
       
      <input type="date" value="<?php echo $data ?>" name="datacoleta" class="form-control" required style="width:100%;">  
      Agradeço desde já.
    • By Kefatif
      Prezados boa tarde.
       
      Preciso bloquear a edição de um date input de forma que só seja possível selecionar a data através do calendário.
       
      Alguém pode me ajudar?
       
      Utilizo php, html e js.
       
      <input type="date" value="<?php echo $data ?>" name="datacoleta" class="form-control" required style="width:100%;">  
      Agradeço desde já.
    • By Thiago Duarte
      Eu tenho uma página que abri um alert ao clicar no link , só que nao cadastra e nem funciona o login.
       
       <div class="btn-box">          <a class="btn btn-color venobox vbox-item" data-toggle="modal" href="javascript:void(0)" onclick="openRegisterModal();">Start now Free </a>             <img src="images/seta.png"> </div>  
      <div class="modal-body">                               <div class="box">                                  <div class="content">                                     <!-- Login Form -->                                     <div class="loginBox">                                        <form id="login-modal" role="form"  method="post" action="#">                                           <input type="hidden" name="param" value="logar" />                                           <!-- Success/Alert Notification -->                                           <p class="lm-success"><i class="icon icon_check_alt2"></i> <strong>Congratulation! Login modal validation is working. Implement your code.</strong></p>                                           <p class="lm-failed"><i class="icon icon_close_alt2"></i><strong> Something went wrong! Insert correct value.</strong></p>                                           <!-- Input Fields -->                                           <input id="lm-email" class="form-control input-lg" type="text" placeholder="Email" name="email" required="">                                           <input id="lm-password" class="form-control input-lg" type="password" placeholder="Password" name="senha" required="">                                           <!-- Login Button -->                                           <input type="submit" class="btn btn-color" value="Login">                                           <!-- <button class="btn btn-color">Login</button> -->                                        </form>                                     </div>                                     <!-- /End Login Form -->                                  </div>                               </div>                               <!-- /End Login Form Box -->                               <div class="box">                                  <!-- Signup Form -->                                  <div class="content registerBox" style="display:none;">                                     <form id="signup-modal" role="form" method="post" action="?go=cadastrar">                                        <!-- Success/Alert Notification -->                                        <p class="sm-success"><i class="icon icon_check_alt2"></i> <strong>Congratulation! Signup modal validation is working. Implement your code.</strong></p>                                        <p class="sm-failed"><i class="icon icon_close_alt2"></i><strong> Something went wrong! Insert correct value.</strong></p>                                        <!-- Input Fields -->                                        <input id="sm-email" class="form-control input-lg" type="text" placeholder="Email" name="email" required="">                                        <input id="sm-password" class="form-control input-lg" type="password" placeholder="password" name="password">                                        <input id="sm-confirm" class="form-control input-lg" type="password" placeholder="Repeat password" name="senha-confirm">                                        <!-- Signup Button -->                                        <!--  <button class="btn btn-color">Create an account</button> -->                                        <input type="submit" class="btn btn-color" value="Create an account">                                     </form>                                  </div>                                  <!-- /End Signup Form -->                               </div>                               <!-- /End Signup Form Box -->                            </div>  
      e em baixo do </html> coloquei
        <?php           $param = (empty($_POST['param'])) ? 'error' : $_POST['param'];           if($param == 'logar'){       //if($_POST['param'] == 'logar'){             $email = $_POST['email'];             $password = $_POST['password'];             $query1 = mysql_num_rows(mysql_query("SELECT * FROM usuario WHERE email = '$email' AND password = '$password'")) or die(mysql_error());             if($query1 == 1){           // print "<script>alert('logou');</script>";              print "<script>window.location.replace('dashboard/index.php');</script>";           }else{              echo "<script>alert('User and password do not match.'); history.back();</script>";           }        }        if(@$_GET['go'] == 'cadastrar'){           // $dominio_gratis = $_POST['dominio_gratis'];          $email = $_POST['email'];          $password = $_POST['password'];          $date_register = date("m-d-Y");                // if(empty($dominio_gratis)){           //     echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>";           // }else          if(empty($email)){           echo "<script>alert('Fill in all the fields to register.'); history.back();</script>";            }elseif(empty($password)){           echo "<script>alert('Fill in all the fields to register.'); history.back();</script>";        }else{           $query1 = mysql_num_rows(mysql_query("SELECT * FROM usuario WHERE email = '$email'"));           if($query1 == 1){            echo "<script>alert('User already exists.'); history.back();</script>";          }else{            mysql_query("insert into usuario (email, password, date_register, plan) values ('$email','$password','$date_register', '0')");            header("Location: dashboard/dashboard.php");         }      }   }   ?>  
      Alguem pode ajudar?
    • By ricardocelso
      Pessoal boa tarde,  tenho um pc com windows 10, oque preciso instalar para programar em php desde ja muito obrigado.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.