Hallo und guten Abend Gemeinde.
Ein User hat mich auf einen seltsamen Fehler aufmerksam gemacht:
Code:
MyBB has experienced an internal error and cannot continue.
Error Type:
Catchable Fatal Error (4096)
Error Message:
Object of class mysqli_result could not be converted to string
Location:
File: newthread.php(1178) : eval()'d code
Line: 29
Backtrace:
File Line Function
/inc/class_error.php 208 errorHandler->output_error
/newthread.php(1178) : eval()'d code 29 errorHandler->error
/newthread.php 1178 eval
Please contact the MyBB Group for technical support.
Das seltsame ist: dieser Fehler trifft nicht bei jeder Neueröffnung eines Themas auf.
(Im fehlerauslösenden Fall sind jedoch ineinander geschachtelte Spoiler verwendet worden.
Also
[code]
[spoiler][spoiler] Bla bla [/spoiler][/spoiler]
Der Lösungsansatz aus
https://www.mybb.de/forum/thread-25879-p...#pid173464 kann ich leider nicht anwenden, da in der newthread.php kein {$captcha} zu finden ist.
Das betreffende Forum ist die Spiegeldimension.
(Siehe Link im Footer)
Vielen Dank im Vorfeld für eure Hilfe.
MfG
Santhony
Welche MyBB-Version verwendest du? Die Zeile in der newthread.php ist bei MyBB 1.8.17 leer.
Die Fehlermeldung deutet wahrscheinlich auf einen Fehler im Template "newthread" hin. Am besten vergleichst du das mit dem Original (z.B. eine Variable, die dort nicht hin gehört). Falls das nicht hilft, poste bitte den Inhalt des Templates.
Hallo und guten Abend Stefan.
Ich verwende in diesem Forum noch 1.8.15.
Die verbauten Plugins haben diverse Variablen gesetzt, von denen ich jetzt aber keine entdecke, die fehl am Platze erscheint.
Ein Unterschied, der mir aufgefallen ist, ist jedoch eine unterschiedliche Javascript Version im Header.
(Im Original ist es 1813 und in dem Style, den der User benutzt 1808)
Hier ist das Template:
Code:
<html>
<head>
<title>{$lang->newthread_in}</title>
{$headerinclude}
<script type="text/javascript" src="{$mybb->asset_url}/jscripts/post.js?ver=1808"></script>
</head>
<body>
{$header}
{$preview}
{$thread_errors}
{$attacherror}
{$moderation_notice}
<form action="newthread.php?fid={$fid}&processed=1" method="post" enctype="multipart/form-data" name="input">
<input type="hidden" name="my_post_key" value="{$mybb->post_code}" />
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead" colspan="2"><strong>{$lang->post_new_thread}</strong><a name="switch" id="switch"></a></td>
</tr>
{$loginbox} {$tracker_partners} {$tracker_date} {$tracker_ort} {$tracker_daytime}
<tr>
<td class="trow2" width="20%"><strong>{$lang->thread_subject}</strong></td>
<td class="trow2">{$prefixselect}<input type="text" class="textbox" name="subject" size="40" maxlength="85" value="{$subject}" tabindex="1" /></td>
</tr>
{$threaddescription}{$posticons}
<tr>
<td class="trow2" valign="top"><strong>{$lang->your_message}</strong>{$smilieinserter}<!-- TableGenerator -->{$tabgen_button}<!-- /TableGenerator --></td>
<td class="trow2">
<textarea name="message" id="message" rows="20" cols="70" tabindex="2">{$message}{$forum['form']}</textarea>
{$codebuttons}
{$multiquote_external}
</td>
</tr>
<tr>
<td class="trow1" valign="top"><strong>{$lang->post_options}</strong></td>
<td class="trow1"><span class="smalltext">
<label><input type="checkbox" class="checkbox" name="postoptions[signature]" value="1" tabindex="7"{$postoptionschecked['signature']} /> {$lang->options_sig}</label>
{$disablesmilies}</span></td>
</tr>
{$modoptions}
{$subscriptionmethod}
{$pollbox}
{$captcha}
</table>
{$attachbox}
<br />
<div style="text-align:center">{$as_post} <input type="submit" class="button" name="submit" value="{$lang->post_thread}" tabindex="4" accesskey="s" /> <input type="submit" class="button" name="previewpost" value="{$lang->preview_post}" tabindex="5" />{$savedraftbutton}</div>
<input type="hidden" name="action" value="do_newthread" />
<input type="hidden" name="posthash" value="{$posthash}" />
<input type="hidden" name="attachmentaid" value="" />
<input type="hidden" name="attachmentact" value="" />
<input type="hidden" name="quoted_ids" value="{$quoted_ids}" />
<input type="hidden" name="tid" value="{$tid}" />
{$editdraftpid}
</form>
{$forumrules}
{$footer}
<script type="text/javascript">
$(".author_avatar img").error(function () {
$(this).unbind("error").closest('.author_avatar').remove();
});
</script>
</body>
</html>
Das MyBB hat doch standardmäßig keinen BBCode für Spoiler; da ist anscheinend ein Plugin verbaut?
Der problematische Teil ist m.E. daher
Warum werden da eigentlich Spoiler verschachtelt? Macht das einen speziellen Sinn? Funktioniert es, wenn nur ein Spoiler-Tag vorhanden ist, d.h. tritt das Problem nur beim verschachtelten Spoiler auf?
Im Template sind einige Variablen, die offenbar zu Plugins oder Modifikationen gehören. Welche davon den Fehler verursacht, ist schwer zu sagen. Dafür müsste man jeweils den dazugehörigen PHP-Code kennen.
Anhand der Zeilenangabe in der Fehlermeldung würde ich auf {$forum['form']} tippen. Wie bv64 vermutet, könnte auch {$codebuttons} durch ein Plugin überschrieben werden.
Ich würde an deiner Stelle im Ausschlussprinzip nacheinander die Variablen, die nicht standardmäßig im Template vorhanden sind, entfernen bis der Fehler verschwindet. Alle anderen kannst du danach natürlich wieder einfügen.
Hallo und guten Abend.
Vielen Dank für eure Rückmeldungen.
@bv64:
Das mehrfach ineinander verschachtelte hatte den Zweck diverse Grafiken in eine geeordenete Struktur zu bringen, ohne dass sie beim Ansehen des Themas sofort den User erschlagen.
Was die Reproduktion des Fehlers anbelangt so weiß ich mir grade keinen Rat.
Denn momentan funktioniert der gleiche Inhalt, der noch vor einigen Tagen den Fehler verursacht hat, ohne, dass ich etwas an den Einstellungen verändert habe.
Ich kann also daher noch nicht einmal per Ausschlussverfahren auf Fehlersuche gehen; würde daher das Thema erst noch als ungelöst offen stehen lassen - falls erlaubt - wenn der Fehler wieder auftritt und ich dann mehr sagen kann. öö
Lieben Gruß
Santhony
welches Spoiler-Plugin wird denn überhaupt genutzt? Ich meine, da wären mehrere am Markt.
(10.08.2018, 08:11)Santhony schrieb: [ -> ]Verbaut habe ich MyCode: [spoiler] (1.2.1) von Dark Neo
Ich habe den Code einmal kurz überflogen und habe keine Stelle gefunden, die die oben genannte Fehlermeldung erklären könnte. Die Ursache liegt also wahrscheinlich irgendwo anders.