Bestimmte Browser und mobile Endgeräte weiterleiten

Crabman91

Cadet 3rd Year
Registriert
Aug. 2015
Beiträge
33
Hallo zusammen,

ich brauche dringend Hilfe bei der Erstellung meiner "Bewerbungswebseite". Mein Problem ist, dass diese in Safari und dem Internet Explorer nicht richtig funktioniert. Deshalb möchte ich Besucher mit eben erwähnten Webbrowsern gerne auf eine separate Seite leiten, auf der die Situation dann erklärt wird.
Außerdem möchte ich Benutzer mobiler Endgeräte ebenfalls auf eine dritte Seite weiterleiten.

Leider habe ich bisher noch nichts gefunden, was ich verstanden habe. Mit html und css komme ich mehr oder weniger klar aber alles andere übersteigt leider meine Kenntnisse.

Es wäre super, wenn jemand da draußen vielleicht ein Script hätte, welches ich bei mir einbetten könnte. :)
 
Ohne PHP wird das mMn nichts. Bist du da einigermaßen fit?

Wieso funktioniert denn deine Seite mit Safari und mobilen Geräten nicht? Ich würde eher da ansetzen.
 
Nein, leider habe ich von PHP, Java usw. keine Ahnung. Ich habe im Studium etwas html und css gelernt. Das hat gereicht um die Seite zu erstellen. Für besondere Sachen wie Parallax-Scrolling-Effekte usw., habe ich einfach Skripte aus dem Netz verwendet – ohne sie wirklich zu verstehen aber Hauptsache es funktioniert. Es geht hier wirklich nur um eine Seite die ich für meine Bewerbungen nutzen möchte. Die werden also nur ein paar Leute sehen. Bevor ich also versuche alles auf allen Browsern zum laufen zu bekommen und damit noch mehr Zeit verschwende, würde ich das gerne so lösen.
 
Je nachdem für welchen Job Du Dich bewirbst, würde ich schon zuschauen, dass die Seite mit allen gängigen Browsern funktioniert. Hast Du überprüft, ob HTML und CSS valide sind?

Wenn es mit einer Version partout nicht klappt, würde ich statt einem Redirect, Browser-spezifische Anweisungen einbinden. Da gibt es verschiedenen Möglichkeiten. Ein Beispiel mit PHP findest Du hier: https://www.kotori.de/wissen/php-browserweiche-fur-mobilgerate.html
 
Ok, ich habe für safari ein "workaround" mit einer alternativen css gefunden.

Wie muss ich das denn jetzt schreiben? Das Beispiel ist für den IE.
 
Zuletzt bearbeitet:
Sorry aber ich raffe es nicht :D.

was davon ist denn der String, den ich einfügen muss? Das hier funktioniert schon mal nicht :P

Code:
<?php
 
        		$override = "";
        
        if (preg_match("/(Mozilla/5.0)/i", $_SERVER['HTTP_USER_AGENT'])) { 
 
			           $override = "<link href="CSS/style_safari.css" type="text/css" rel="stylesheet" />";
 
		        };
 
        		echo $override;
 
	?>

Wie gesagt habe keine Ahnung davon.
 
geht auch nicht.

Irgendwie scheint das gar nicht zu funktionieren. Das sieht auf der Seite oben so aus:
 

Anhänge

  • fehler.jpg
    fehler.jpg
    78,9 KB · Aufrufe: 160
das läuft bei mir irgendwie nicht richtig. wenn ich "http://localhost/bewerbung.php" in den browser eingebe bekomme ich nur diese Meldung:

"Diese Webseite ist nicht verfügbar.
ERR_CONNECTION_REFUSED"

Habe die Dateien vorher in den richtigen Ordner (htdocs) von xampp kopiert.

Kann ich die Seite denn nicht direkt mit filezilla auf den webserver laden und das ganze auch so testen oder müsste man da auch vorher was installieren damit der php-code funktioniert?
 
Hast Du nach der Installation geprüft, ob die Standardseite (http://localhost) funktionierte? Der Server wurde gestartet?

Du kannst natürlich auch online testen. Wenn der Server PHP unterstützt (vermutlich), sollte es funktionieren.

Es sollte aber kein Ding sein, dass auch lokal zum laufen zu bekommen. Eventuell die Firewall mal deaktivieren.
 
die Stadardseite funktionierte auch schon nicht. Starten lies sich das Ganze erst nachdem ich die Ports 80 und 443 in den Einstellungen von Skype entfernt habe, da diese gebraucht wurden.

Aber das ist jetzt egal, ich habe die Seite mal hochgeladen. Es funktioniert insofern, als dass die Seite im Safari richtig angezeigt wird. Das Problem ist nur, dass Chrome ebenfalls den String "Safari" verwendet und somit nun HIER alles wie Kraut und Rüben aussieht. :(

Wie kann ich das umgehen?

Code:
 <?php
 
		$override = "";
        
        if (preg_match("/(Safari)/i", $_SERVER['HTTP_USER_AGENT'])) { 
 
            			$override = "<link href='CSS/style_safari.css' type='text/css' rel='stylesheet' />";
 
		 };
 
		echo $override;
 
	?>
 
Code:
if (preg_match("/Safari/i", $_SERVER['HTTP_USER_AGENT']) && !preg_match("/Chrome/i", $_SERVER['HTTP_USER_AGENT'])) {
 
Ich glaube jetzt funktioniert es. Super, danke! Hast mir sehr geholfen ;)
Ergänzung ()

Ich glaube nur auf Macs funktioniert es laut browsershots.org noch nicht :(
 
Wenn man an einen paranoiden Personaler gerät, der JavaScript deaktiviert hat, geht gar nichts mit JavaScript. Nicht sehr wahrscheinlich, aber möglich. Deswegen habe ich zuerst PHP als eine Möglichkeit genannt, die Anforderung umzusetzen. Eine weitere Alternative wären CSS-Hacks.

@Crabman91
Welcher Browser/Version funktioniert unter OS X nicht? Wenn Du mir den Link zur Seite/Deinen Code schickst, kann ich das testen.
 
hey, soares, deine letzte nachricht sehe ich jetzt erst...oO
ich würde die Seite ehrlich gesagt nur ungern in einem öffentlich Forum posten aber kann ich denn eine weiter Ausnahme für den Safaribrowser in Kombination mit Mac-Geräten formulieren?
 
Crabman91 schrieb:
ich würde die Seite ehrlich gesagt nur ungern in einem öffentlich Forum posten

Logisch. Muss ohnehin nicht die ganze Seite sein. Das PHP-Skript bzw. die Logik zur Browsererkennung reicht aus. Und ich dachte an eine PM...

Crabman91 schrieb:
aber kann ich denn eine weiter Ausnahme für den Safaribrowser in Kombination mit Mac-Geräten formulieren?

Der User-Agent String enthält auch Angaben zum Betriebssystem, die man analog zum Browser auswerten kann:

http://stackoverflow.com/questions/18070154/get-operating-system-info-with-php
 
Zurück
Oben