Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
[Erledigt]Frage zu: "eval()"
#1
Welche parameter sind bei eval() nötwendig und wofür zuständig?

PHP-Code:
    eval("\$variable = \"".$templates->get("test")."\";"); 
Was macht $variable?
Und was macht "test"?

und dann gleich noch:
Was passiert bei
PHP-Code:
outputpage($extern); 
Welche Funktion hat hier $extern ?

Jan

#2
Ich habe keine Ahnung Wink, aber das ist ja nicht deine erste Frage dieser Art und ich denke es wäre besser, wenn du dich damit an ein spezielles PHP-Forum wendest oder das in diversen Dokumentationen nachliest.
Vantage-Forum: http://vantage-forum.de/
#3
Richtige Erklärung zu diveresen Codeschnipseln und Befehelen bekommst du immer auf www.php.net ... gib dort einfach mal eval() ein und du weißt was es macht Wink

eval führt zum beispiel den code aus der zuvor in einer Variable definiert wurde.
Yuessit.com
Yuessit and use it - Das Forum | Yuessit and use it - Der Blog
#4
outputpage ist aber eine Funktion von MyBB.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#5
Dies sind aber spezielle Funktionen des MyBB. Ein normales PHP Forum hilft da leider nicht weiter.

Woher sollen die bitte wissen wie das Templatesystem des MyBB gehandhabt wird?

Normale PHP Fragen stelle ich hier ja auch nicht.

#6
Nochmal zur Erklärung ...

eval versucht den String als PHP Code auszugeben. Das heißt:

$variable = das Template test

$extern ist eine Variable die wohl irgendwo einen Wert zugeteilt bekommen hat, aber dazu bräuchte man mehr vom Code!
Yuessit.com
Yuessit and use it - Das Forum | Yuessit and use it - Der Blog
#7
Sicher?
Zitat:Beispiel 1. eval()-Beispiel (einfache Texteinfügung):
PHP-Code:
<?php
$string 
'Bierglas';
$name 'Binding-Lager';
$str 'Das ist mein $string, voll mit $name.<br>';
echo 
$str;
eval (
"\$str = \"$str\";");
echo 
$str;
?>
Das obige Beispiel gibt aus:
Code:
Das ist mein $string, voll mit $name.
Das ist mein Bierglas, voll mit Binding-Lager.
was ist den jetzt bitte $variable ?
PHP-Code:
eval("$variable = "".$templates->get("test")."";"); 
PHP-Code:
".$templates->get("test")." 
Ist das template das geladen wird.

#8
PHP-Code:
eval() 
führt Datenbank Code als PHP aus, damit werden also templates geparsed.

PHP-Code:
"\$variable = \"".$templates->get("test")."\";" 
bedeutet, dass das template mit dem Namen "test", das über "$templates->get("test")" ausgelesen wird, der $variable zugewiesen wird.

PHP-Code:
outputpage() 
ist eine in myBB definierte Funktion, die in keinem PHP-Manual steht.
#9
So, das erste dürfte verstanden sein. Jetzt bitte ich, jemanden der sich auskennt, die Funktion
PHP-Code:
outputpage() 
zu erklären, damit ich das Temlatesystem besser verstehen kann und die dateien entsprechend anpassen kann.

#10
Richtig! Nur führt er dies gleich aus!

Bei deinem Beispiel oben wird zuerst die Variable $str definiert mit dem Text. Danach wird sie mit echo ausgegeben, wie du siehst werden die Variablen $string und $name nicht ausgegeben, eh klar, ist ja kein echo oder dergleichen in der Nähe!

Bei eval() führt er aber die im $str enthaltetenen Variablen aus, somit erscheint der Text gleich als ausgabe Wink
Yuessit.com
Yuessit and use it - Das Forum | Yuessit and use it - Der Blog


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [Erledigt]eval ersetzten um Informationen in Variablen zu speichern Jan 1 1.559 18.05.2007, 13:05
Letzter Beitrag: StefanT