Beiträge: 127
Themen: 30
Registriert seit: 29.07.2009
29.10.2010, 21:55
(Dieser Beitrag wurde zuletzt bearbeitet: 29.10.2010, 21:56 von cRaZyYy.)
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ß
Beiträge: 868
Themen: 53
Registriert seit: 24.08.2007
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
Gruß Manuel
Bitte erst die
Suche und die
Doku benutzen.
Beiträge: 127
Themen: 30
Registriert seit: 29.07.2009
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
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
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.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 127
Themen: 30
Registriert seit: 29.07.2009
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ß (:
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
OK, dann war Manuels Vermutung korrekt. Was passiert, wenn du $message direkt per echo() ausgibst anstatt immer mehr in die Variable zu schreiben?
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 127
Themen: 30
Registriert seit: 29.07.2009
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>";
?>
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
30.10.2010, 09:09
(Dieser Beitrag wurde zuletzt bearbeitet: 30.10.2010, 09:12 von StefanT.)
Das ist völlig unsinnig, was du machst. Warum baust du den Code nicht direkt in die global.php ein?
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 127
Themen: 30
Registriert seit: 29.07.2009
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.
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
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.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.