PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PROBLEM: Variable "$forum[forumid]"


Chris
19.09.2001, 18:24
:( *uuuhh*....

Jetzt habe ich doch auch mal ein Prob.

Ich habe den Hack 'Last Thread Title' installiert. Der funktioniert auch problemlos, allerdings nicht in den Unterforen, bzw. wenn jemand in dem Unterforum etwas schreibt, dann wird der Titel nicht auf der Hauptseite angezeigt, sehr wohl aber der Poster und die Uhrzeit.

Ich versuche derzeit mit meinen Usern das 'Programmier'-Problem zu ergründen und auf die Schliche zu kommen, hatte aber noch keinen Erfolg. Wer Zeit und Lust hat mir zu helfen, dem wäre ich sehr dankbar. :)


Das Problem wird HIER ('http://www.das-computer-forum.com/showthread.php?&threadid=362') diskutiert.

Ich bedanke mich schonmal im Voraus für eine etwaige Anteilnahme.

Grüsse,
Chris.

s.molinari
19.09.2001, 20:26
Ich glaube, bin mir aber nicht sicher, dass das Fehler ist ein grundsätzliches Denkfehler des Hacks. Ich habe eine Frage. Ist die Abfrage die Du erwähnt hast in dem Loop für die forumbits aufbau? Also nach diesem Code:

while ( list($key1,$val1)=each($iforumcache['$forumid']) ) {
while ( list($key2,$forum)=each($val1) ) {


Wenn Ja ist das wirklich scheisse! Das heisst für jedes Forum eine neue Abfrage. Yepp, boah eh.... 159 Abfragen für deine Startseite. Schlecht.

http://www.das-computer-forum.com/index.php?s=&showqueries=1

Du hast 28 Foren, daraus kommt 159 Abfragen. Wir haben 21 Foren und 21 Abfragen. Also dass kann nicht stimmen was bei dir abläuft.

Scott

Chris
19.09.2001, 22:46
Offensichtlich 'hängt' das Problem woanders. Das Script greift nicht auf die 'forumbits' zu, lediglich auf 'forumhome_lastpostby', selbstredend auch nicht das Query.

Irgendwie hast Du recht, es ist 'unsauber' programmiert. Aldiweil nicht die 'echte' forumid dargestellt wird.

Mein Problem ist aber, daß ich das gern würde. :( ---

Achja... *seufz*

s.molinari
19.09.2001, 22:53
Ich habe ein bisschen weiter studiert und hoffentlich eine Lösung gefunden. Ich werde nur grob beschreiben wie ich mir das vorstellen.

1. Du musst zuerst den Hack aus deinem Board entfernen. Er ist totaler Blödsinn!

2. Dann musst Du ein Feld, in dem Du den Titel speichern wirst, in die 'forum' Tabelle kreieren. z.B. 'lastposttitle'

3. Der Hack ist nicht 100% Mist. Irgend wo ist ein bisschen Code wo den 'Title' bzw. 'Subject' auf 20 Buchstaben plus '...' reduziert wird. Du musst dieses Stuck Code an den 'Title' bzw. 'Subject' verwenden bevor den nächsten Schritt (4) durchgeführt wird. Sonst hast Du die komplette 'Title' oder 'Subject' auf deiner Startseite was das Format deiner Startseite durcheinander bringen wird.

4. Im newreply.php und newthread.php gibt es eine Abfrage (query) wo der 'forum' Tabelle ein 'UPDATE' bekommt. Hier wird den Namen des Posters(Verfasser) und die Zeit des letzten Posts gespeichert. Hier musst Du nur den verkurzten Titel (title oder subject) des letzten Posts mit speichern. alla: $DB_site->query('UPDATE forum
SET replycount=replycount+1,lastpost=''.time().'',
lastposter=''.addslashes($postusername).'',lastposttitle=''.addslashes(htmlspecialchars($title)).''
WHERE forumid IN ($foruminfo[parentlist])');VORSICHT! Das Beispiel oben gilt nur für newreply.php. Im newthread.php heisst den Titel 'subject'.;)

4. Als Letztes musst Du nur dein 'forumhome_lastpostby' Template wie folgt ändern.<table cellpadding='0' cellspacing='0' border='0' width='100%' id='ltlink'>
<tr align='right'>
<td nowrap rowspan='2'>$icon</td>
<td nowrap><smallfont><a href='showthread.php?
s=$session[sessionhash]&goto=lastpost&forumid=$forum[forumid]'><b>$forum[lastposttitle]</b>
</a></smallfont></td>
<td nowrap rowspan='2'> <a href='showthread.php?
s=$session[sessionhash]&goto=lastpost&forumid=$forum[forumid]'><img src='images/lastpost.gif'
border='0' alt='Go to last post'></a></td>
</tr>
<tr align='right'>
<td nowrap><smallfont>$forum[lastpostdate]
<font color='#000000'>$forum[lastposttime]</font><br>
by <a href='member.php?s=$session[sessionhash]
&action=getinfo&find=lastposter&forumid=$forum[forumid]'><b>$forum[lastposter]</b></a>
</smallfont>
</td>
</tr>
</table>


Ganz einfach oder? Viel Spass! :D

Scott

p.s. Übrigens die Abfragen deiner Startseite werden deutlich weniger mit diesem Hack. 159 wuhuuuuu!:)

s.molinari
19.09.2001, 23:00
Wo ich am Schreiben war hast Du schon geantwortet. Hier ist meine Antwort zu deiner Antwort.:)

Nicht 'forumbit' Template sondern das Loop das den forumbits erzeugt. Das habe ich gemeint. Es kann nur so sein, deswegen die sehr grosse Anzahl von Abfragen auf deiner Startseite.


Scott