Data e hora do servidor usando php e ajax

Ajax | domingo 15 novembro 2009 17:26 |

O script abaixo mostra a data e hora do servidor em php
isso é feito umavez a cada recarga da pagina.

Codigo fonte do arquivo data.php

<?php
$diasemana[0] = "Domingo";
 $diasemana[1] = "Segunda-feira";
 $diasemana[2] = "Terça-feira";
 $diasemana[3] = "Quarta-feira";
 $diasemana[4] = "Quinta-feira";
 $diasemana[5] = "Sexta-feira";
 $diasemana[6] = "Sábado";

$mesnome[1] = "janeiro";
 $mesnome[2] = "fevereiro";
 $mesnome[3] = "março";
 $mesnome[4] = "abril";
 $mesnome[5] = "maio";
 $mesnome[6] = "junho";
 $mesnome[7] = "julho";
 $mesnome[8] = "agosto";
 $mesnome[9] = "setembro";
 $mesnome[10] = "outubro";
 $mesnome[11] = "novembro";
 $mesnome[12] = "dezembro";

$ano = date('Y');
 $mes = date('n');
 $dia = date('d');
 $diasem = date('w');
 //$hora = date("H", time()-3600); //ajuste a diferença de horario
 $hora = date("H", time()-7200);
 $min  = date("i", time());
 $seg = date("s", time());
 $relogio = $hora . ":" . $min.":".$seg;

$datax = $diasemana[$diasem].', '.$dia.' de '.$mesnome[$mes].' de '.$ano.' - Hora:'.$relogio ;
 echo($datax);
?>

————————————————————————

Combinando com o script ajax.php a data e hora é atualizada dinamicamente do servidor
a cada 5 segundos isso sem recarregar a pagina atual, é o famoso AJAX.

Codigo fonte do arquivo ajax.php (pode usar extensão html)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>Exemplo de data e hora do servidor usando php e ajax</title>
<script type="text/javascript"> 
function createXmlHttpRequestObject(){
 // vamos armazenar a referência ao objeto XMLHttpRequest
 var xmlHttp; 
 // Cria o Objeto XMLHttpRequest try{
 // assume IE7 ou navegadores modernos 
 xmlHttp = new XMLHttpRequest(); 
 } 
 catch(e){ // assume IE6 ou nevegadores antigos 
 try{ xmlHttp = new ActiveXObject("Microsoft.XMLHttp"); } 
 catch(e) { } 
 } // retorna o objeto criado ou exibe uma mensagem de erro 
 if (!xmlHttp) 
 alert("Ocorreu um erro ao criar o objeto XMLHttpRequest."); 
 else return xmlHttp; 
 } 
 var xmlHttp = false; 
 xmlHttp = createXmlHttpRequestObject(); 
 // Cria uma instancia XMLHttpRequest 
 function pegaData() {
 xmlHttp.abort();
 xmlHttp.onreadystatechange=function() {
 if(xmlHttp.readyState == 4) {
 document.getElementById('datasrv').innerHTML = xmlHttp.responseText; 
 } 
 } 
 xmlHttp.open("POST", "data.php", true) xmlHttp.send(null); } 
 </script>
</head><body>
<span id="datasrv">--:--</span>
<script type="text/javascript">
 x = setInterval ("pegaData()", 5000);
 /* dependendo da conexão vc pode diminuir para 1000 (1seg) o tempo de recarga do arquivo data.php */ 
 </script>
</body>
</html>

Bom o código tá comentado e ainda estou iniciando no ajax, comentários são bem vindos.

Confira aqui o script em funcionamento.

1 comentário »

  1. Comment by kleber — 2009/12/30 @ 18:23

    Obs: Esse script é um exemplo básico de Ajax que consulta um arquivo php para retornar a hora do sitema.

    http://www.pedrocorreia.net/mySnippets/javascript/Ajax-Server-Date-Time
    O link acima descreve um exemplo que usa apenas Ajax para exibir a hora do servidor.
    download abaixo dos arquivos:
    http://www.pedrocorreia.net/files/snippet_php_timeserver_en.rar

RSS feed para comentários neste tópico. TrackBack URI

Deixe um Comentário