PHP - Sonnenauf.- und Sonnenuntergang mit der Geolocation API auslesen

➤ Möglicherweise fragt der Browser nach, ob er den Zugriff auf den Standort erlauben darf!

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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
// Sonnenauf.- und Sonnenuntergang mit der Geolocation API auslesen
date_default_timezone_set("Europe/Berlin");

if (isset(
$_GET["location"])) {

 
$tag date("j");
 
$monat date("n");
 
$jahr date("Y");

 
$sun_info date_sun_info(strtotime($jahr "-" $monat "-" $tag), $_GET["latitude"],  $_GET["longitude"]);
 
$onnenaufgang date("H:i"$sun_info["sunrise"]);
 
$onnenuntergang date("H:i"$sun_info["sunset"]);
 
$unrise = (round(str_replace(":""."$onnenuntergang) - str_replace(":""."$onnenaufgang), 2));

 echo 
'&#9788;&#9650; Sonnenaufgang: ' $onnenaufgang ' Uhr<br>.
  
'&#9788;&#9660; Sonnenuntergang: ' $onnenuntergang ' Uhr <br>.
 
'&#9788;&#9684;  Sonnenscheindauer: ' . (number_format($unrise1","".")) . ' Stunden<br>.
 
'Breitengrad:' $_GET["latitude"] . ' - Längengrad:' $_GET["longitude"];
 exit;
}
?>
<!DOCTYPE html>
<html lang="de">
 <head>
  <meta charset="UTF-8">
  <title>Sonnenauf.- und Sonnenuntergang mit der Geolocation API auslesen</title>

<script>
// Geolocation API auslesen

window.addEventListener("DOMContentLoaded", function() {

  document.getElementById("button").addEventListener("click",function () {
   if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(showPosition);
   }
  });

});

// Die Werte über AJAX an PHP senden
const XHR = new XMLHttpRequest();
function showPosition(position) {

 XHR.open("GET", "?location&latitude=" + position.coords.latitude + "&longitude=" + position.coords.longitude, true);
 XHR.send(null);
 XHR.onreadystatechange = function () {
  if (XHR.readyState == 4 &&
      XHR.status == 200) {
     document.querySelector("#ausgabe").innerHTML = XHR.responseText;
   }
 } 
}
</script>


 </head>
<body>

<button id="button">Sonnenauf.- und Sonnenuntergang</button>

<p id="ausgabe"></p>

</body>
</html>

Siehe auch: Sonnenaufgang und Sonnenuntergang

Bausteine  Alle Anzeigen

Eine zufällige Auswahl von Codeschnipseln aus den Bereichen HTML, CSS, PHP, JavaScript und MySQL.

<th> Tabellenkopf

CSS - Pink-Cube-Animation

PHP - CSRF-Token für Formulare erstellen

JavaScript - https und den Querystring aus der URL entfernen

MySQL - Datensatz Wert erhöhen

Lernen beim Arbeiten
Viele Fehler werden beim Arbeiten an der Homepage erkannt und im weiteren Verlauf vermieden (Etwas daraus gelernt!). Auch das Lernen durch Ausprobieren, zum Beispiel einen bestimmten Wert einfach erhöhen und sehen was dann passiert ist sehr lehrreich.