Seite 1 von 1

PHP in Theme einbinden

Verfasst: 30.01.2012 18:49
von xXferraXx
Guten Abend,

vorweg habe ich das Gefühl, das ich mich im falschen Forenbereich aufhalte. leider sehe ich bei den ganzen Sektionen nicht durch und würde mich freuen, wenn ein Moderator sich die Mühe macht und dieses Thema verschiebt.

Nun zu meinem Problem. Ich möchte mein Design etwas ausbauen und daher muss ich unterscheiden können, ob nun eine Mobilgerät (Handy, Ipod ...) oder der PC auf das Forum zugreift. Daher möchte ich dies nun über PHP lösen.

Meine Idee war folgendes:

Code: Alles auswählen

<!-- PHP -->
<?php
if ((strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') !== FALSE) || ((strpos($_SERVER['HTTP_USER_AGENT'], 'iPod') !== FALSE))
{
echo "<div class=\"floatingbar\"><center><a href=\"http://www.psvitainside.de/forum/viewtopic.php?f=21&t=80\">";
echo "Zum PSVitaInside.de-Chat</a></center></div>";
echo "<style type=\"text/css\">";
echo ".floatingbar a:hover, a:hover#floatingbar { background-color: #313131; color:#ffffff;}";
echo ".floatingbar a, .floatingbar a:link { ";
echo "   background-color: #191919; color:#ff9000;";
echo "   position:fixed;";
echo "padding:5px 8px;";
echo "display:block;";
echo "bottom:0;";
echo "left:0;";
echo "z-index:100;";
echo "width:100%;";
echo "border-bottom:0px solid gray;";
echo "font-size:11px;";
echo "font-family:Tahoma;";
echo "margin:0;";
echo "text-decoration:none;";
echo "}</style>"; 
}
?>
<!-- ENDPHP -->
An der Idee scheitert es nicht, jedoch an der Umsetzung. phpBB möchte die IF-Anweisung einfach nicht bearbeiten. Der Rest läuft. Kann mir bitte jemand erklären, was ich falsch mache?

Fals es wichtig ist, das Forum ist folgendes.

MfG ferra

Re: PHP in Theme einbinden

Verfasst: 30.01.2012 18:55
von WileCoyote
Man kann zwar php für Templates im Administrations-Bereich aktivieren, ratsam ist das allerdings nicht.

Sieh dir lieber folgende Seite an: Mobile Devices Detection

Re: PHP in Theme einbinden

Verfasst: 30.01.2012 21:18
von xXferraXx
Guten Abend,

danke das du dich meinem Problem annimmst, aber ich frage mich trotzdem, warum phpBB Probleme mit der IF-Anweisung hat.

Kannst du mir helfen? Es scheint als würde diese erst gar nicht ausgeführt werden.

mfG ferra

Re: PHP in Theme einbinden

Verfasst: 01.02.2012 14:42
von xXferraXx
Hat niemand eine Idee woran es liegen könnte?

MfG ferra

Re: PHP in Theme einbinden

Verfasst: 01.02.2012 16:37
von WileCoyote
xXferraXx hat geschrieben:Kannst du mir helfen? Es scheint als würde diese erst gar nicht ausgeführt werden.
Vorerst möchte ich nochmals betonen, dass die Verwendung von php in Template-Dateien ein potentielles Sicherheitsrisiko darstellt. Unter Umständen machst du damit deine Seite für Hacker interessant

Wie ich zuvor schon kurz erwähnte, muß man das im Administrations-Bereich erst aktivieren. Du findest die Einstellung unter:

Administrations-Bereich - Registerkarte "Allgemein" - Server-Konfiguration - Sicherheit - Erlaube PHP in Templates

Benutzung auf eigene Gefahr!

Re: PHP in Theme einbinden

Verfasst: 02.02.2012 06:32
von xXferraXx
Guten Tag,

mit dem Sicherheitsrisiko muss ich leben.

Das Problem ist aber, dass PHP im Template bereits erlaubt ist - es aber trotzdem nicht läuft. Zumindest Echo funktioniert. Auch sämtliche andere Anweisungen, aber eben keine Kontrollstrukturen wie Schleifen usw.

MfG ferra

Re: PHP in Theme einbinden

Verfasst: 02.02.2012 08:48
von Mahony
Hallo
Schau auch mal hier --> http://wiki.phpbb.com/Tutorial.Template_syntax#PHP

Nachtrag: Ansonsten würde ich die Abfrage mal so schreiben (dann funktioniert das ganze auch).

Code: Alles auswählen

<!-- PHP -->

$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");
$ipad = strpos($_SERVER['HTTP_USER_AGENT'],"iPad");

if ($iphone || $android || $palmpre || $ipod || $berry || $ipad  == true)
{
echo "<div class=\"floatingbar\"><center><a href=\"http://www.psvitainside.de/forum/viewtopic.php?f=21&t=80\">";
echo "Zum PSVitaInside.de-Chat</a></center></div>";
echo "<style type=\"text/css\">";
echo ".floatingbar a:hover, a:hover#floatingbar { background-color: #313131; color:#ffffff;}";
echo ".floatingbar a, .floatingbar a:link { ";
echo "   background-color: #191919; color:#ff9000;";
echo "   position:fixed;";
echo "padding:5px 8px;";
echo "display:block;";
echo "bottom:0;";
echo "left:0;";
echo "z-index:100;";
echo "width:100%;";
echo "border-bottom:0px solid gray;";
echo "font-size:11px;";
echo "font-family:Tahoma;";
echo "margin:0;";
echo "text-decoration:none;";
echo "}</style>";
}

<!-- ENDPHP --> 

Grüße: Mahony

Re: PHP in Theme einbinden

Verfasst: 05.02.2012 17:32
von xXferraXx
Ich wollte noch einmal danke sagen. Es Funktioniert jetzt alles so wie es soll.

Mit freundlichen Grüßen
ferra