PHP Webseite?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Achje, dein HTML ist ziemlich invalid. Schnapp dir mal einen Validator und laufe durch die einzelnen Punkte durch, die gefunden werden. Des Weiteren solltest du dich einmal mit Schleifen (for, foreach, ...) auseinandersetzen, um deinen Code erheblich zu kürzen.

Die Funktion file_gets_contents gibt im Fehlerfall den Wert false zurück, den du weiterverarbeiten könntest. Mit der Funktion header lässt sich eine Weiterleitung einrichten:

$xmlstring = file_get_contents($mensalink);

if ($xmlstring === false) {
  header("Location: error.html");
  exit;
}

Allerdings wirst du sicherlich noch mindestens eine Warnung bekommen, falls das einzulesende Ziel nicht existiert.

Du könntest stattdessen mit cURL arbeiten. Schau hier für Anwendungsbeispiele:

Geh weg von exec und file_get_opens...

die option geht mit Curl.

Timeout auf 20s gesetzt, kannst du anpassen. Dann hängt es nicht endlos.

Wenn ein Fehler passiert, geht es in die eine if schlaufe, wo du dann einfach die HTML Seite einfügen kannst... anderenfalls wird das XML geparst.

siehe hier

https://pastebin.com/uTXhh7Fr

Weiß nicht ob das so funktionieren würde aber du kannst es ja ausprobieren

<form method="POST" onsubmit="window.open('variable')">

das benutzen und dann vorher die if abfrage die dann den Text der Variable einstellt und je nachdem die Seite öffnet wenn der Button geklickt wird.

Es ist im prinzip ein Speiseplan der auf Bildschirmen vor der jeweiligen Essensausgabe gespielt wird. Das heißt ich möchte sobald die Webseite wo ich das abfrage nicht erreichbar ist, etwas in der Richtung da steht wie z.b Wir erhalten derzeit leider keine Daten von .....

0

Was möchtest Du wissen?