Hallo Berufspenner!
Der Code ist totaler schwachsinn (SORRY)!
Werd ihn mal auseinanderpfücken und dir sagen was du da verzapft hast:
---------------
PHP-Code:
if("http://www1.homeunix.org" == true)
Damit überprüfst du ob der String (text) "http://http://www1.homeunix.org" true ist... totaler blödsinn!
Wenn du überprüfen willst, ob die Seite existiert, dann mußt du das mit einem GET machen...
Das solltest du mit der Funktion fopen() machen... Dokumentation: http://php.net/fopen !
So sollte es aussehen...
PHP-Code:
//Wenn das öffnen der Index Datei auf http://www1.homeunix.org gelingt dann...
if ($fh=fopen("http://www1.homeunix.org","r")) {
...
}
//Datei schließen...
fclose($fh)
Als nächstes machst du einen include der Seite... ebenfalls nicht sehr schlau!
Die funktion include (Dokumentation http://php.net/include ) führt ebenfalls einen HTTP GET durch... lädt also quasi die Seite die er unter http://www1.homeunix.org findet auf den Server herunter, auf dem das Skript läuft und bindet es an dieser stelle ein... das verlängert die Ladezeit (minimal) aber der wichtigste grund ist wirklich der schlechte Stil und nebenbei gesagt ist es ein Sicherheitsrisiko, denn wenn sich z.B. auf http://www1.homeunix.org eine index.htm befände, die PHP code enthält, dann würde der auf deinem Server ausgeführt... kann unter umständen böse enden!!!
Ach so... die include funktion angewandt auf externe Seiten (die sich nicht auf deinem Server befinden) funktioniert nur bei Linux Servern... nicht bei Windows!!!
Weiterleitungen, machst du lieber mit der funktion header() (Dokumentation: http://php.net/header ). Mit dieser Datei veränderst du den html Header deines Skripts... Um weiterzleiten schreib folgendes:
PHP-Code:
header("Location: http://www1.homeunix.org");
Wichtig ist hierbei, daß noch kein output erzeugt worden sein darf, bevor du die Header manipulierst, da sie sonst vom Browser nicht interpretiert werden und PHP einen Fehler ausgibt... es darf auch kein Leerzeichen oder Zeilenumbruch vor den PHP Tags stehen!!!
Richtig sieht der Code also folgendermaßen aus:
PHP-Code:
<?php
//Check ob die Seite Verfügbar ist...
if ($fh=@fopen("http://www1.homeunix.org","r"))
header("Location: http://www1.homeunix.org");
else
header("Location: http://www.test.de");
//Datei schließen...
@fclose($fh)
?>
Das @ Zeichen verhindert die Ausgabe von Fehlermeldungen!
Sooo... das war jetzt sehr ausführlich, aber ich hatte gerade Zeit, und wollte als neuer Moderator ein gutes Beispiel geben...
Normalerweise halt ich mich ein wenig kürzer
Lesezeichen