MyBB.de Forum
PHP in Template einbinden - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.6.x (https://www.mybb.de/forum/forum-58.html)
+---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-59.html)
+---- Thema: PHP in Template einbinden (/thread-24779.html)



PHP in Template einbinden - traax - 28.01.2012

Hallo,
ich habe gemäß dieser Anleitung eine eigene Seite erstellt.
Nun würde ich aber gerne folgenden PHP-Code ins Template einbinden, die je nach Status des Streams ein Bild ausgibt:
PHP-Code:
<?php
function StreamOnOffCheck($SID) {
ini_set('default_socket_timeout',2);
if ((
$FO=@fopen(base64_decode("aHR0cDovL3d3dy5mbGF0Y2FzdC5jb20vZGUvb25haXJzZXJ2aWNlLmFzbXgvT25haXI/U3RyU2lkPQ==").$SID"r"))) {
$file=@fread($FO150);
$info stream_get_meta_data($FO);
fclose($FO);
if (
$info['timed_out']) {
$STREAMSTATUS="-1";
} else {
$STREAMSTATUS="0";
if (
strlen(trim($file)) > 10) {
$A=explode(">",$file);$B=explode("<",$A[2]);$STREAMSTATUS=$B[0];
if (! 
$B[0]) { $STREAMSTATUS="0";}
}
}
}else{
$STREAMSTATUS="-1";
}
return 
$STREAMSTATUS;
}
$result=StreamOnOffCheck("******");
if (
$result == "1" ) {
echo 
"<img src='on.png' alt='bild'>";
} elseif (
$result == "0") {
echo 
"<img src='off.png' alt='bild'>";
} else {
echo 
"<img src='off.png' alt='bild'>";
}
?>
Der Vollständigkeit halber hier auch der Inhalt der radio.php:
PHP-Code:
<?php
define
("IN_MYBB"1);
//define("NO_ONLINE", 1); // Wenn Seite nicht in Wer ist online-Liste auftauchen soll
require("global.php");
add_breadcrumb("Radio");
eval(
"\$impressum = \"".$templates->get("radio")."\";"); // Hier wird das erstellte Template geladen
output_page($impressum);
?>
Bisher habe ich den PHP-Code einfach per Iframe ins Template eingebettet. Gibt es das auch noch eine bessere Möglichkeit? Also das man den Code in die radio.php schreibt und dann per Variable abruft?

Ich hoffe ihr könnt mir helfen Smile
Liebe Grüße,
Traax



RE: PHP in Template einbinden - King Louis - 28.01.2012

Du schreibst den entsprechenden php code in die datei die aufgerufen wird, gibst dabei aber keinen code aus, sondern speicherst den in einer variable und rufst diese mit {$test} im template auf.


RE: PHP in Template einbinden - traax - 28.01.2012

Hallo,
erstmal danke für deine Antwort.
Ich habe das ganze jetzt so probiert:
PHP-Code:
<?php
$test 
"function StreamOnOffCheck($SID) {
ini_set('default_socket_timeout',2);
if ((
$FO=@fopen(base64_decode("aHR0cDovL3d3dy5mbGF0Y2FzdC5jb20vZGUvb25haXJzZXJ2aWNlLmFzbXgvT25haXI/U3RyU2lkPQ==").$SID, "r"))) {
$file=@fread($FO, 150);
$info = stream_get_meta_data($FO);
fclose(
$FO);
if (
$info['timed_out']) {
$STREAMSTATUS="-1";
} else {
$STREAMSTATUS="0";
if (strlen(trim(
$file)) > 10) {
$A=explode(">",$file);$B=explode("<",$A[2]);$STREAMSTATUS=$B[0];
if (! 
$B[0]) { $STREAMSTATUS="0";}
}
}
}else{
$STREAMSTATUS="-1";
}
return 
$STREAMSTATUS;
}
$result=StreamOnOffCheck("******");
if (
$result == "1" ) {
echo "
<img src='on.png' alt='bild'>";
} elseif (
$result == "0") {
echo "
<img src='off.png' alt='bild'>";
} else {
echo "
<img src='off.png' alt='bild'>";
}"
;
define("IN_MYBB"1);
//define("NO_ONLINE", 1); // Wenn Seite nicht in Wer ist online-Liste auftauchen soll
require("global.php");
add_breadcrumb("Radio");
eval(
"\$impressum = \"".$templates->get("radio")."\";"); // Hier wird das erstellte Template geladen
output_page($impressum);
?>
Wenn ich jetzt allerdings die Variable {$test} im Template einfüge und dann die radio.php aufrufe erscheint folgender Fehler:
Code:
Parse error: syntax error, unexpected T_STRING in /var/www/web113/html/regeln.php on line 7



RE: PHP in Template einbinden - King Louis - 28.01.2012

Den php code einfach kopieren und anstatt den echo in den letzten zeilen das $test =

sry wenn das etwas missverständlich war Wink


RE: PHP in Template einbinden - traax - 28.01.2012

Vielen, vielen Dank Jones!
Es funktioniert.
Super Big Grin

Liebe Grüße,
Traax