Ich habe hier ein kleines Problem.
Ich habe eine Hauptseite, welche eine Unterseite lädt. Diese hat die
Document.ready() Funktion.
Overview.php
1 | <div class="OverviewMain">
|
2 | <div class="OverviewLeft" id="R1">Right</div>
|
3 | <div class="OverviewBig1" id="B1">Big1</div>
|
4 | <div class="OverviewBig2" id="B2">Big2</div>
|
5 | <div class="OverviewSmall1" id="S1">Lade</div>
|
6 | <div class="OverviewSmall2" id="S2">Lade</div>
|
7 | <div class="OverviewLeft1"><img src="data/images/thermo1.svg" height="75" width="75"/><span id="T1">0.00°C</span></div>
|
8 | <div class="OverviewLeft2"><img src="data/images/thermo1.svg" height="75" width="75"/><span id="T2">0.00°C</span></div>
|
9 | <div class="OverviewLeft3"><img src="data/images/thermo1.svg" height="75" width="75"/><span id="T3">0.00°C</span></div>
|
10 | </div>
|
11 |
|
12 | <script language="javascript" type="text/javascript">
|
13 | $(document).ready(function(){
|
14 | refreshSmall1();
|
15 | refreshJSON();
|
16 | });
|
17 |
|
18 | function refreshSmall1(){
|
19 | $('#S2').load('ajax_temp_chart.php?id=2');
|
20 | $('#T1').load('ajax_temp_val.php?id=1');
|
21 | $('#T2').load('ajax_temp_val.php?id=2');
|
22 | $('#S1').load('ajax_temp_chart.php?id=1', function(){setTimeout(refreshSmall1, 500);});
|
23 | }
|
24 |
|
25 | function refreshJSON(){
|
26 | $('#R1').load('ajax_JSON.php', function(){setTimeout(refreshJSON, 1000);});
|
27 | }
|
28 | </script>
|
Die dazugehörigen Dateien, welche mir kopfzerbrechen machen sind
ajax_temp_val.php und ajax_JSON.php.
ajax_temp_val.php
1 | <?php
|
2 | if(isset($_SESSION['temp1'])) {
|
3 | echo $_SESSION['temp1']."°C";
|
4 | } else {
|
5 | echo "nOK";
|
6 | }
|
7 | ?>
|
ajax_JSON.php
1 | <?php
|
2 | $socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
|
3 | socket_set_option($socket, SOL_SOCKET, SO_BROADCAST, 1);
|
4 | socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec"=>10, "usec"=>0));
|
5 | socket_bind($socket, '192.168.166.1', 20005);
|
6 |
|
7 | socket_recvfrom($socket, $buf, 1000, 0, $from, $port);
|
8 | $JSonVar = json_decode($buf);
|
9 | $_SESSION['temp1'] = $JSonVar->temp1;
|
10 | echo $_SESSION['temp1']."°C";
|
11 | //echo "OK";
|
12 | socket_close($socket);
|
13 | ?>
|
Das laden des JSON UDP Streams funktioniert tadellos und auch das setzen
der Variable $_SESSION funktioniert, da mir über echo
$_SESSION['temp1']."°C"; die richtigen Werte ausgegeben werden.
Jedoch müsste, da es sich um eine Seitenweite Session handelt, (
session_start() steht in der Index.php über welche sämtliche Seiten
geladen werden) ja dann die Variable auch bei einem späteren Aufruf von
ajax_temp_val.php verfügbar sein. Ist sie aber leider nicht.
ajax_temp_chart.php greift noch Datenbank gebunden auf die Daten zu,
dies ist aktuell nicht von belangen.
Hat da jemand einen Tipp für mich?!