RE: neueste themen auf externe seite anzeigen lassen??? - lenkradschloss - 18.12.2007
@Dragon: Wo genau muss denn die Datei auf dem Server hin? Doch in das Verzeichnis des Forums, oder?
Dann erhalte ich:
Zitat:Direct initialization of this file is not allowed.
Please make sure IN_MYBB is defined.
Gruß, Jens
RE: neueste themen auf externe seite anzeigen lassen??? - Michael - 18.12.2007
Dass meine Lösung nicht funktioniert liegt daran, dass folgender Code bei dir doppelt vorhanden ist:
PHP-Code: // Letzte Themen auslesen $query = mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' $unviewwhere ORDER BY tid DESC LIMIT 0,".$limit."");
Entferne das erste Vorkommen und passe den zweiten Query dann wie geschildert an.
RE: neueste themen auf externe seite anzeigen lassen??? - StefanT - 18.12.2007
lenkradschloss schrieb:@Dragon: Wo genau muss denn die Datei auf dem Server hin? Doch in das Verzeichnis des Forums, oder?
Dann erhalte ich:
Zitat:Direct initialization of this file is not allowed.
Please make sure IN_MYBB is defined.
Gruß, Jens Du willst die Themen auf einer externen Seite haben. Da hilft dir die Datei im Forum nicht.
RE: neueste themen auf externe seite anzeigen lassen??? - Rookie-Doo - 18.12.2007
Michael schrieb:Dass meine Lösung nicht funktioniert liegt daran, dass folgender Code bei dir doppelt vorhanden ist:
PHP-Code: // Letzte Themen auslesen $query = mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' $unviewwhere ORDER BY tid DESC LIMIT 0,".$limit."");
Entferne das erste Vorkommen und passe den zweiten Query dann wie geschildert an.
Wunderbar, jetzt funktioniert es! Herrlich... DANKE! ![Smile Smile](https://www.mybb.de/forum/images/smilies/smile.gif)
Nur noch ein Problem: Umlaute werden nicht richtig angezeigt: http://www.cyberdyne-sky.net/
Da ich das Problem auch in einer RSS-Feed Abfrage habe: liegt das an meiner Seite generell oder oder kann man da im Script etwas verändern?
Das jetzige, funktionstüchtige Scirpt lautet:
PHP-Code: <?php // Daten für Verbindung zur Datenbank $dbhost = "localhost"; $dbuser = "changeme"; $dbpassword = "changeme"; $dbdatabase = "changeme";
// Präfix $prefix = "mybb_";
// URL zum Forum $url = "http://www.cyberdyne-sky.net/mybb/";
// Anzahl der Themen $limit = "5";
// Verbindung zur Datenbank aufnehmen $db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen"); mysql_select_db($dbdatabase,$db);
// Letzte Themen auslesen $query = mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' AND fid NOT IN (25,3,5,61,54,60,13,58) ORDER BY tid DESC LIMIT 0,".$limit."");
// Überschrift echo "<table style=\"border-style:solid;border-width:2\" width=\"100%\" cellspacing=\"0\" id=\"rahmen_farbe\"> <tr> <td id=\"hintergrund_menue\"><font id=\"text_menue\"><center>- <a href=\"index.php?m=newspost\">Neueste Themen im Forum</strong></a> -</center></font></td> </tr> <tr> <td> <center>";
// Liste starten echo "<ul>";
while ($newest_threads = mysql_fetch_array($query)) { echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a></li>"; }
// Liste schließen echo "</ul> </font> </center> </td> </tr> </table>"; ?>
RE: neueste themen auf externe seite anzeigen lassen??? - Michael - 19.12.2007
Ersetze
PHP-Code: echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a></li>";
mal durch:
PHP-Code: echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".htmlentities(utf8_decode($newest_threads['subject']))."</a></li>";
RE: neueste themen auf externe seite anzeigen lassen??? - Rookie-Doo - 19.12.2007
Michael schrieb:Ersetze
PHP-Code: echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a></li>";
mal durch:
PHP-Code: echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".htmlentities(utf8_decode($newest_threads['subject']))."</a></li>";
Astrein, es läuft endlich so wie ich es wollte. Vielen Dank Euch allen!
RE: neueste themen auf externe seite anzeigen lassen??? - Rookie-Doo - 23.12.2007
Hallo zusammen,
ich würde doch gerne eine ausführlichere Foren-Vorschau einbinden. Es gab ja hier eine Lösung, die auch den letzten Beitragsverfasser anzeigt.
Rookie-Doo schrieb:PHP-Code: <?php
// Anzahl der Themen $limit = "5";
// Überlange Themen kürzen (0 = Nein, x = Anzahl der auszugebenden Zeichen) $length = "0";
require("./../mybb/inc/init.php"); ### Konfiguration ###
//Nicht sichtbare Foren ausschließen $unviewable = get_unviewable_forums(); if($unviewable) { $unviewwhere = "AND t.fid NOT IN (".$unviewable.")"; }
// Head ausgeben echo "<table width=\"100%\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\"><tr><td colpan=\"4\"><strong></strong></td></tr><tr><td>Forum</td><td>Benutzer</td><td>Datum</td><td>Thema</td></tr>";
// Themen aus Datenbank holen $query = $db->query ("SELECT subject,username,uid,tid,fid,dateline FROM ".TABLE_PREFIX."threads WHERE visible='1' $unviewwhere ORDER BY tid DESC LIMIT 0,".$limit.""); while($threads = $db->fetch_array($query)) { // Forum ermitteln $query2 = $db->query ("SELECT name FROM ".TABLE_PREFIX."forums WHERE fid = '".$threads['fid']."'"); $forums = $db->fetch_array($query2);
// Betreff kürzen? if ($length != 0) { if (strlen($threads['subject']) > $length) { $threads['subject'] = substr($threads['subject'],0,$length) . "..."; } }
// Daten ausgeben echo "<tr><td><a href=\"".$mybb->settings['bburl']."/forumdisplay.php?fid=".$threads['fid']."\" target=\"_blank\">".htmlentities($forums['name'])."</a></td> <td><a href=\"".$mybb->settings['bburl']."/member.php?action=profile&uid=".$threads['uid']."\" target=\"_blank\">".htmlentities($threads['username'])."</a></td> <td>".htmlentities(mydate($mybb->settings['dateformat'], $threads['dateline'])).", ".htmlentities(mydate($mybb->settings['timeformat'], $threads['dateline']))."</td> <td><a href=\"".$mybb->settings['bburl']."/showthread.php?tid=".$threads['tid']."\" target=\"_blank\">".htmlentities($threads['subject'])."</a></td></tr>"; }
// Footer ausgeben echo "</table>"; ?>
Jedoch erhalte ich dort folgende Fehlermeldung:
PHP-Code: Warning: main() [function.main]: open_basedir restriction in effect. File(./../mybb/inc/init.php) is not within the allowed path(s): (/srv/www/vhosts/cyberdyne-sky.net/httpdocs:/tmp) in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8
Warning: main(./../mybb/inc/init.php) [function.main]: failed to open stream: Operation not permitted in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8
Warning: main() [function.main]: open_basedir restriction in effect. File(./../mybb/inc/init.php) is not within the allowed path(s): (/srv/www/vhosts/cyberdyne-sky.net/httpdocs:/tmp) in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8
Warning: main(./../mybb/inc/init.php) [function.main]: failed to open stream: Operation not permitted in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8
Warning: main() [function.main]: open_basedir restriction in effect. File(./../mybb/inc/init.php) is not within the allowed path(s): (/srv/www/vhosts/cyberdyne-sky.net/httpdocs:/tmp) in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8
Warning: main(./../mybb/inc/init.php) [function.main]: failed to open stream: Operation not permitted in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8
Fatal error: main() [function.require]: Failed opening required './../mybb/inc/init.php' (include_path='.:.:/usr/share/php') in /srv/www/vhosts/cyberdyne-sky.net/httpdocs/php/news.php on line 8
Line 8 ist: PHP-Code: require("./../mybb/inc/init.php");
Welche Rechte muss diese init.php haben? Reicht 644?
Nochmal zum Verständnis der Pfade, nicht, dass die Pfadangabe irgendwie falsch ist: root/index.php ruft root/php/news.php auf, letztere soll root/mybb/inc/init.php aufrufen.
Vielen Dank im Voraus und besinnliche Feiertage!
RE: neueste themen auf externe seite anzeigen lassen??? - CKOne - 24.12.2007
Hallo.
Ich wollte in meine Homepage auch die neusten Themen aus meinem Forum einbauen. Ich hab deshalb den Code auch eingefügt. Allerdings erscheint statt der Themen folgender Text:
Zitat:- Neueste Themen im Forum -
\n"; // Liste starten echo "
* \n"; while ($newest_threads = mysql_fetch_array($query)) { echo "".htmlentities(utf8_decode($newest_threads['subject']))."
\n"; } // Liste schließen echo "
\n"; ?>
Wo liegt da mein Fehler?
Der Code, mit dem ich das eingefügt habe, sieht so aus:
Code: <?php
// Daten für Verbindung zur Datenbank
$dbhost = "localhost";
$dbuser = "---";
$dbpassword = "---";
$dbdatabase = "---";
// Präfix
$prefix = "mybb_";
// URL zum Forum
$url = "http://www.fieselschweif.de";
// Anzahl der Themen
$limit = "5";
// Verbindung zur Datenbank aufnehmen
$db = mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");
mysql_select_db($dbdatabase,$db);
// Letzte Themen auslesen
$query = mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' AND fid NOT IN (2) ORDER BY tid DESC LIMIT 0,".$limit."");
// Überschrift
echo "<table style=\"border-style:solid;border-width:2\" width=\"100%\" cellspacing=\"0\">
<tr>
<td><center>- <a href=\"index.php?m=newspost\">Neueste Themen im Forum</strong></a> -</center></td>
</tr>
<tr>
<td>
<center> \n";
// Liste starten
echo "<ul> \n";
while ($newest_threads = mysql_fetch_array($query))
{
echo "<li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".htmlentities(utf8_decode($newest_threads['subject']))."</a></li> \n";
}
// Liste schließen
echo "</ul>
</font>
</center>
</td>
</tr>
</table> \n";
?>
(Die Zugangsdaten zur Datenbank hab ich natürlich zensiert.)
Ich hoffe, es kann mir jemand hier helfen.
Frohe Weihnachten wünscht
CKOne.
RE: neueste themen auf externe seite anzeigen lassen??? - Michael - 24.12.2007
Das ist jetzt geraten, aber versuche mal die Leerzeichen vor den \n zu entfernen. Wenn das nicht hilft entferne mal alle \n.
RE: neueste themen auf externe seite anzeigen lassen??? - CKOne - 24.12.2007
Ohne hab ich das auch schon probiert. Ich hab die ja auch nur eingefügt, weil ich dachte, dass es vielleicht daran liegen könnte.
|