Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
PHP in Template einbinden
#1
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
#2
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.
#3
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
#4
Den php code einfach kopieren und anstatt den echo in den letzten zeilen das $test =

sry wenn das etwas missverständlich war Wink
#5
Vielen, vielen Dank Jones!
Es funktioniert.
Super Big Grin

Liebe Grüße,
Traax