# Adresszeile im Browser per HTML steuern



## hk007 (7. Mai 2017)

Hi,
ich hoffe ihr könnt mit dem Threadtitel was anfangen, aber ich weiss nicht wie es besser zu beschreiben ist.
Zum Thema:
Ich hab einen kleinen µC-Steuerung auf der ein Webserver mit einer Page läuft. Auf der Seite habe ich einige Buttons, mit denen ich per method=get Befehle an den µC weitergebe:

```
<form action="/buttonsHeater" method=get>
        <button type=submit name=command value='HeizungAus'>Heizung AUS</button>  
    </form>
```
Wenn ich jetzt auf meinem PC (Firefox) o.g. Button drücke dann erscheint in der Adresszeile folgendes: "http://192.168.1.10/buttonsHeater?command=HeizungAus"
Mein µC parst dies, erkennt den Befehl, arbeitet ihn ab und sendet dann die Seite erneut.
Allerdings steht dann im Browser immer noch der abgesetzte get-Befehl in der Adresszeile. Und bei einem Reload (Also im browser den runden Pfeil drücken) setzt er den Befehl nochmal ab.
Gibt es da eine Möglichkeit, dies im HTML-Code zu steuern, dass dann da nur noch "192.168.1.10" steht? Also die Startseite ohne den get-Befehl.
Ich hab schon im Head folgendes drin:

```
<meta http-equiv="refresh" content="60; URL=/">
```
Aber dann dauert es die 60 Sekunden, bis die Adresszeile angepasst wird.

Puhh ... ich hoffe das war verständlich... und wäre für jeden Tip dankbar.
Und wenn es nur ein Schlagwort ist, dass mir beim Suchen weiterhilft.

Danke und Gruß / hk007


----------



## merzi86 (7. Mai 2017)

Ich hoffe, das ich dich richtig verstanden habe.
Du hast schon eine Lösung, aber die die 60 Sekunden, bis die Adressleiste angepasst wird ist dir zu lang?

Wenn ja, dann setz doch die Zeit runter.
Z.B.:

```
<meta http-equiv="refresh" content="10; URL=/">
```


----------



## hk007 (7. Mai 2017)

Ja, daran hab ich auch schon gedacht.
Aber der automatische refresh war eigentlich nicht dafür gedacht. Damit wollte ich nur die Seite alle 60 Sekunden neu laden, um darauf wieder die aktuellen Messwerte zu haben.
Sicher könnte ich den runtersetzen, aber dann lädt er die Seite ständig in dem kleineren Zeitraster. Das ist aber nicht notwendig/gewünscht.
Ich dachte/hoffte es gäbe noch eine andere Möglichkeit.


----------



## Jan-Frederik Stieler (8. Mai 2017)

Hi,
Ich hab hier ne Software mitentwickelt welche alle zwei Sekunden ein pagereload ausführt.
Who cares? Solange es keine Probleme gibt und dein Problem damit gelöst wird würd ich das einsetzen.

Gruß


----------



## merzi86 (8. Mai 2017)

Jan-Frederik Stieler hat gesagt.:


> Hi,
> Ich hab hier ne Software mitentwickelt welche alle zwei Sekunden ein pagereload ausführt.
> Who cares? Solange es keine Probleme gibt und dein Problem damit gelöst wird würd ich das einsetzen.
> 
> Gruß



Dem würde ich bedingt zustimmen.
Es kommt dabei darauf an, wie viele Zugriffe es auf der Seite gibt.
Wenn es nur 1 oder 2 sind geht es auch so.


----------



## hk007 (8. Mai 2017)

Bedenkt, es ist nur ein kleiner µC. Den kann ich nicht nur mit seiner Webserver-Tätigkeit auslasten.
Aus dem Grund sehe ich ein hochfrequentes Reload nicht unbedingt als die Lösung an.


----------



## merzi86 (8. Mai 2017)

Dann wirst du mit reinen HTML nicht weiterkommen.
Du wirst dann doch JavaScript bemühen müssen.


----------



## hk007 (8. Mai 2017)

Wäre doch auch kein Problem...
Hättet ihr da ne Lösung?


----------



## Sp1r1t (8. Juni 2017)

Hallo,

ich weiß nicht ob das alles noch benötigt wird, aber warum baust du nicht einfach eine PHP abfrage ob etwas mit GET übergeben wird.
Da die Seite ja eh neu geladen wird um die GET Variable reinzuschreiben, kannst du doch einfach per if abfragen ob GET nicht leer ist und dann gegebenenfalls die Seite neu laden.


```
// Speichert den Inhalt von "command" in "var"
@$var = $_GET['command'];
// Überprüft ob "var" leer ist
if ($var != '') {
    // Wenn "var" leer ist, wartet er 10 sekunden
    sleep(10);
    // Leitet weiter auf 192.168.1.10
    header('Location: http://192.168.1.10/');
}
```


bei evtl. Problemen stehe ich gern zur Verfügung.

Mit freundlichen Grüßen

Sp1r1t


----------

