Recuperer l'heure locale du visiteur
cgershon
Messages postés
288
Statut
Membre
-
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19182 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je veux recuperer l'heure locale de mes visiteurs. ou savoir de quelle region du monde ils naviguent
comment recuperer cela ?
merci
Je veux recuperer l'heure locale de mes visiteurs. ou savoir de quelle region du monde ils naviguent
comment recuperer cela ?
merci
5 réponses
-
Salut.
Les fonctions date() et time() en PHP retournent l'heure du serveur.
Pour récupérer l'heure du client, je pense qu'il faudra passer par du Javascript et l'envoyer avec AJAX.
Par exemple :/* Fonction qui stocke le timestamp local dans $_SESSION['localTime'] */ function sendTimestamp() { var date = new Date(); var timestamp = Math.floor(date.getTime() / 1000); var xhr = null; if (window.XMLHttpRequest || window.ActiveXObject) { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { xhr = new XMLHttpRequest(); } } else { alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest..."); return; } xhr.onreadystatechange = function() { if(xhr.readyState == 4 && (xhr.status == 0 || xhr.status == 200)) { return true; } }; xhr.open('POST','recv_client_timestamp.php',true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send('timestamp='+timestamp); }
Et le script recv_client_timestamp.php :<?php session_start(); $_SERVER['localTimestamp']['server'] = $_SERVER['REQUEST_TIME']; $_SERVER['localTimestamp']['client'] = (int) $_POST['timestamp'];
Et la fonction pour récupérer le timestamp correcte :<?php session_start(); function getClientTimestamp() { $diff = $_SERVER['REQUEST_TIME'] - $_SESSION['localTimestamp']['server']; return $_SERVER['localTimestamp']['client'] + $diff; } -
N'importe quelle fonction time() ou date() renvoie la date système du client. Après il faut voir via quel langage tu veux gérer tout ça...
-
Merci avionf16
mais as-tu essaye ce que tu propose ou c'est simplement une suggestion non verifiee ? -
et puis comment attraper le pays du visiteur ? en php ou ajax ...
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
C'est une suggestion qui logiquement fonctionnne.
Je n'ai pas testé le code, il pourrait y avoir des fautes de frappe.
Pour la pays, il faudra passer par une base de données externe qui contient les plages d'IP.