MyBB.de Forum

Normale Version: PHP in Templates
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Huhu, Ich möchte PHP in Templates, ich wollte es wie folgt einbinden (wie aus der Suche hervorging):

Ich habe folgendes in die global.php hinzugefügt:

Code:
ob_start();
include("testpic.php");
$new_pics = ob_get_contents();
ob_end_clean();

Das gab diesen Fehler:

Zitat:Fatal error: Call to a member function query() on a non-object in /web/forum/testpic.php on line 5

Zeile 5-7:

Code:
$first = $db->query("SELECT * FROM `".TABLE_PREFIX."gallery_pic` ORDER BY `ID_PICTURE` DESC LIMIT 3");

while($list = $db->fetch_array($first)) {

Ich weiß jetzt nicht, was ich machen muss um diesen Fehler zu meiden...

Dankeschön - vorab.

Gruß
So wie es aussieht hast du in deiner eingebundenen Datei nicht die global.php von MyBB miteinbezogen.

https://www.mybb.de/doku/haeufig-gestell...ellen.html
Gibt das nicht ein "Stack-Overflow" ?

Fatal error: Allowed memory size of 50331648 bytes exhausted (tried to allocate 491520 bytes) in /forum/global.php on line 496
Der Fehler tritt in der testpic.php auf. Ohne den Inhalt der Datei wird es schwer genaueres zu sagen.

Die zweite Fehlermeldung bedeutet, dass das Skript mehr Speicher benötigt, als in der PHP-Konfiguration erlaubt wurde.
PHP-Code:
<?php


$message 
'<table border="0" cellspacing="1" cellpadding="3" class="tborder"><tr>';

$first $db->query("SELECT * FROM `".TABLE_PREFIX."gallery_pic` ORDER BY `ID_PICTURE` DESC LIMIT 3");

while(
$list $db->fetch_array($first)) {

$thumb $list['thumbfilename'];
$picid $list['ID_PICTURE'];

    
$message .= '<td rowspan="2" class="trow1" align="center" width="120"><a href="http://warriors.pytalhost.de/forum/ezgallery.php?action=view&id='.$picid.'"><img src="http://warriors.pytalhost.de/forum/gallery/'.$thumb.'" /></a></td>
<td class="trow2"><span class="smalltext">'
my_date($mybb->settings['dateformat'],$list['date']) .'</span></td>';
}

$message .= "</tr><tr>";

$first $db->query("SELECT * FROM `".TABLE_PREFIX."gallery_pic` ORDER BY `ID_PICTURE` DESC LIMIT 3");

while(
$list $db->fetch_array($first)) {
$id $list['ID_MEMBER'];
$user get_user($id);
$username format_name($user['username'],$user['usergroup'],$user['displaygroup']);
$message .= '<td class="trow1"><span class="smalltext">Von <a href="http://warriors.pytalhost.de/forum/member.php?action=profile&uid='.$id.'">'.$username.'</a></span></td>';
}

$message .= "</tr></table>";

?>

Gruß (:
OK, dann war Manuels Vermutung korrekt. Was passiert, wenn du $message direkt per echo() ausgibst anstatt immer mehr in die Variable zu schreiben?
Genau dasselbe...

Zitat:Fatal error: Allowed memory size of 50331648 bytes exhausted (tried to allocate 491520 bytes) in /forum/global.php on line 496

PHP-Code:
<?php

require "./global.php";

echo 
'<table border="0" cellspacing="1" cellpadding="3" class="tborder"><tr>';

$first $db->query("SELECT * FROM `".TABLE_PREFIX."gallery_pic` ORDER BY `ID_PICTURE` DESC LIMIT 3");

while(
$list $db->fetch_array($first)) {

$thumb $list['thumbfilename'];
$picid $list['ID_PICTURE'];

echo 
'<td rowspan="2" class="trow1" align="center" width="120"><a href="http://warriors.pytalhost.de/forum/ezgallery.php?action=view&id='.$picid.'"><img src="http://warriors.pytalhost.de/forum/gallery/'.$thumb.'" /></a></td>
<td class="trow2"><span class="smalltext">'
my_date($mybb->settings['dateformat'],$list['date']) .'</span></td>';
}

echo 
"</tr><tr>";

$first $db->query("SELECT * FROM `".TABLE_PREFIX."gallery_pic` ORDER BY `ID_PICTURE` DESC LIMIT 3");

while(
$list $db->fetch_array($first)) {
$id $list['ID_MEMBER'];
$user get_user($id);
$username format_name($user['username'],$user['usergroup'],$user['displaygroup']);
echo 
'<td class="trow1"><span class="smalltext">Von <a href="http://warriors.pytalhost.de/forum/member.php?action=profile&uid='.$id.'">'.$username.'</a></span></td>';
}

echo 
"</tr></table>";

?>
Das ist völlig unsinnig, was du machst. Warum baust du den Code nicht direkt in die global.php ein?
Ich wollte den Code als Variable in meinen Templates benutzen.
Über die Suche kam ich auf dieses Verfahren.

Wie ich es nun direkt einbaue, so das dessen, was oben steht, funktioniert - weiß ich nicht.
Mit ob_start musst du arbeiten, wenn du einen Code hast, der mit echo ausgegeben wird. Schreibst du den Code selbst, kann du natürlich gleich Variablen verwenden und benutzen.
Seiten: 1 2