Wie kann ich über einen Button auf einer Html website auf dem Hostserver eine Website öffnen?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
Das heißt wenn ich diesen Button drücke soll ein Bestimmter Link auf dem Pi geöffnet werden.

Also soll der Webserver auf dem Pi eine Browserinstanz (z.B. Chromium) starten und dann in diesem eine Webseite öffnen?

Über die Kommandozeile dürfte das zunächst folgendermaßen realisierbar sein:

chromium-browser --app="YOUR URL"

(Weitere Optionen findest du hier).

Nun einmal angenommen, auf dem Pi ist tatsächlich ein Chromium-Browser installiert und deine Webseite läuft auf Basis von PHP / eines PHP-fähigen Webservers, welcher wiederum entsprechende Rechte hat, um Befehle auf der Konsole auszuführen.

Dann könnte deine Seite (bzw. demzufolge dein PHP-Skript namens index.php) folgendermaßen aussehen:

<!doctype html>
<title>Open page on Raspberry Pi</title>
<form>
  <input name="open" type="submit" value="Open">
</form>
<?php
  if (isset($_GET["open"])) {
    shell_exec('chromium-browser --app="YOUR URL"');
  }
?>

Das Formular mit seinem Button verweist auf dieselbe Seite, nur diesmal mit URL-Parameter (open). Da dieser Parameter existiert, wird die shell_exec-Funktion aufgerufen, die wiederum den obigen Befehl an die Konsole weitergibt.


regex9  10.10.2020, 00:53

Wenn es wiederum nur um einen Request an eine Webseite geht (diese also nicht explizit visuell für den Nutzer sichtbar geöffnet werden muss), würde dieser PHP-Befehl vollkommen ausreichen:

file_get_contents("YOUR URL");
0
NackterGerd  11.10.2020, 18:23

Wozu brauchst du PHP für einen einfachen HTML Link ?

0
NackterGerd  12.10.2020, 08:02
@regex9 über einen Button auf einer Html website auf dem Hostserver eine Website öffnen?

Ich möchte über einen auf dem Raspberry Pi gehostete webstite, auf der ein Button zu sehen ist, einen Seite öffnen. 

Die Fragestellung ist doch ganz einfach!

  • Der Pi ist der Webserver
  • Eine HTML Seite mit einem Button
  • Wenn man Button drückt soll Andere Seite auf dem Pi geöffnet werden

Eigentlich also ein ganz normaler Link mit CSS für Erscheinungsbild eines Buttons.

Die neue Seite wäre normalerweise einfach eine Andere HTML Seite die auch auf dem Pi liegt.

Wenn die Neue Seite evtl auf dem Pi etwas dynamisches machen soll, müsste die Neue Seite z.b. anstatt eine HTML Seite eine PHP Seite sein, ( oder eine Andere Programmiersprache die es ermöglicht seine Aufgabe zu erledigen und eine HTML Seite als Ergebnis liefert)

Mit Formular .... hat die Frage also nichts zu tun.

Zumindest lese ich dort nichts was das umständliche Handling notwendig machen würde

0
NackterGerd  12.10.2020, 20:29
@regex9

Ja und ?

Link zu PHP Seite erfüllt doch z.b. ganz einfach die Forderung dass ein Link auf dem Server ausgeführt werden soll.

Aber vielleicht sollte der Fragesteller auch erst mal genau erklären was er eigentlich bezwecken möchte

0
regex9  12.10.2020, 20:39
@NackterGerd

Für Nachfragen an den Fragesteller findest du oben eine eigene Sektion. Dafür brauchst du mich nicht behelligen, zumal ich klar und deutlich geschrieben habe, worauf ich mich beziehe. Erst lesen, dann kommentieren.

0
NackterGerd  12.10.2020, 20:44
@regex9

Dann ließ die Frage

Wie kann ich über einen Button auf einer Html website auf dem Hostserver eine Website öffnen?

D.h. der Button ist in einer HTML Seite und läuft damit bereits im Browser 🤣😂

Dazu braucht man keinen neuen Browser zu starten 😉

0
NackterGerd  12.10.2020, 23:18
@regex9

Was ist so schwer zu verstehen an

"Einem Button auf einer HTML Seite"

D.h. der START ist eine HTML Seite!

Dein Formular das sich selbst nochmal aufruft ist also nicht notwendig😉

Außerdem liegt dein Button auf einer PHP und nicht auf einer HTML Seite

Ein direkter Aufruf aus dem HTML (Button) der das PHP-File aufruft würde also der Aufgabenstellung entsprechen und vollkommen reichen.

Ein zweiter Button auf dem PHP ist nicht notwendig

0

Je nach verwendeter programmiersprache mit Dingen wie "exec".

Dabei sollte aber in jedem Fall dringenst darauf geachtet werden, dass nur das ausgeführt wird, was ausgeführt werden soll.


trommelbasti 
Fragesteller
 09.10.2020, 16:18

ich nutze dafür html

1
Destranix  09.10.2020, 16:20
@trommelbasti

Dann wirst du zusätlich eine serverseitige Sprache benutzen, die es dir erlaubt, auf dem Server Code auszuführen, der dort eine Website öffnet.

Soetwas dürfte es in eigentlich jeder Serversoftware geben. Eine der bekanntesten serverseitigen Scriptsprachen ist wohl PHP.

1
franzhartwig  09.10.2020, 16:32

Es steht nirgendwo, dass eine Datei ausgeführt werden soll. exec ist also nicht der richtige Weg.

0
Destranix  09.10.2020, 16:34
@franzhartwig

Irgendetwas wirst du serverseitig selbstverständlich ausführen müssen, um dort eine Website in einem Browser oder sonstigem Programm zu öffnen. Nämlich eben diesen Browser/dieses Program. Oder ein Script, dass die Steuerung von Aktionen in diesem erlaubt.

0
franzhartwig  09.10.2020, 16:37
@Destranix

Ich denke mal nicht:

Raspberry Pi, hier gibt es eine Webseite. Dort ist ein Button drauf. Wenn man den anklickt, soll eine andere Seite auf dem Pi geöffnet werden.

Ich denke mal die Betonung liegt auf "Button". Der Fragesteller will nicht auf einen Textlink klicken, sondern auf einen Button.

0
Destranix  09.10.2020, 16:40
@franzhartwig
Raspberry Pi, hier gibt es eine Webseite. Dort ist ein Button drauf. Wenn man den anklickt, soll eine andere Seite auf dem Pi geöffnet werden.

Dabei soll aber egal sein, wo auf diesem Button gedrückt wird, egal, ob das auf dem Pi selbst geschieht oder auf einem anderen gerät, welches die Website aufruft.

0

Das geht mit einem ganz normalen Link. Das Aussehen des Links kannst Du durch Verwendung einer Grafik oder auch mit CSS beeinflussen. So kannst Du einen "Button" basteln.


trommelbasti 
Fragesteller
 09.10.2020, 16:47

Der link soll aber nicht auf dem endgerät sondern auf dem server ansich ausgeführt werden

0
franzhartwig  09.10.2020, 17:35
@trommelbasti

Was ist den dieser "Link". "Link" heißt ja nur "Verknüpfung". Aber was genau wird denn da aufgerufen?

1
NackterGerd  11.10.2020, 18:26
@trommelbasti

HTML wird immer auf dem Server heruntergeladen und in deinem Browser geöffnet und dargestellt

Wenn auf deiner Seite irgend etwas auf dem Server dabei passieren sollte - dann müsstest du mit PHP arbeiten, das läuft auf dem Server

1
franzhartwig  11.10.2020, 18:41
@NackterGerd
Wenn auf deiner Seite irgend etwas auf dem Server dabei passieren sollte - dann müsstest du mit PHP arbeiten, das läuft auf dem Server

oder mit einer anderen Scriptsprache: Perl, Python, nodejs (serverseitiges JavaScript), ...

1

Auf der Webseite ist der Button?

Die Webseite ist doch HTML

D.h. die Links funktionieren ganz normal.

Du baust in den Button einen <a> Tag mit dem Link.

Wenn es eine relative Adresse ist zum Beispiel /test/test.html

Dann wäre der Link "./test/Test.html"