ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Archiv / Fehler beim Posten durch einen Gast


Seite 1 von 1

agapanthus schrieb am 04.11.2003 um 13:38 Uhr

Hallo,

ich habe mir die aktuelle Version installiert und habe ein Problem:

Ich möchte gern, daß Gäste (unregistriert) Postings schreiben und beantworten können. Dazu habe ich im Group Management die global permissions für "can reply..." und "can create..." gesetzt. Soweit gehts.

Legt ein Gast ein neues Thema an oder antwortet er auf ein Posting, kommt folgender Fehler:

Notice: Undefined index: userlastpost in /public/[....]/newtopic.php on line 148
bzw.
Notice: Undefined index: userlastpost in /public/[....]/reply.php on line 66

Es gibt danach noch eine Warning:
Warning: Cannot add header information ...

Danach ist das Posting zwar vorhanden, die eMail verschickt (falls gefordert), trotzdem stört die Fehlermeldung... :(

Kann mir einer helfen?

Vielen Dank,
Gruß Frank


Die Versionsinfos:
ThWboard-version: 2.82
PHP-version: 4.2.3
MySQL-version: 4.0.13-log


P.S. Das Forum ist hier zu finden: http://www.scharu.de/thwb/ Bitte zum probieren nur im Testforum posten... Danke.

MrNase schrieb am 04.11.2003 um 13:53 Uhr

Also, öffne die newtopic.php und füge hinzu:

$userlastpost = '';

nach

else
{
if( $g_user['userid'] == 0 && $P->has_permission( P_POSTNEW ) )
{

dann öffne die reply.php und füge hinzu:

$userlastpost = '';

nach

}

$ctime = time();

if( $g_user['userid'] == 0 && $P->has_permission( P_REPLY ) )
{

Dann müssten die ersten beiden Fehler weg sein :)
Und wenn die Fehler weg sind, dann kommt auch

Warning: Cannot add header information

nicht mehr wieder :)

agapanthus schrieb am 04.11.2003 um 14:30 Uhr

Hi MrNase,

danke für die schnelle Antwort, das wars aber nicht :(

Zu meinem Verständnis: userlastpost ist nach $userlastpost = ''; undef, wird aber später als index in $g_user genutzt, was dann fehlschlägt. Oder?

Gruß Frank

agapanthus schrieb am 04.11.2003 um 16:24 Uhr

Hi all,

ich habe eine Lösung: Eine Abfrage, ob der User ein Gast ist, hilft.

in reply.php:

if ( $g_user['userid'] != 0 )
{
    if(  (time() - $config['postdelay'] < $g_user['userlastpost']) && !$P->has_permission( P_NOFLOODPROT ) )
    {
        $navpath .= "Neue Antwort";
        message("Fehler", "Sie können nur alle $config[postdelay] Sekunden einen neuen Post erstellen.");
    }
}

Das gleiche in newtopic.php:

if ( $g_user['userid'] != 0 )
{
    if( !$P->has_permission( P_NOFLOODPROT ) && time() - $config['postdelay'] < $g_user['userlastpost'] )
    {
        $navpath .= 'Neuer Thread';
        message("Fehler", "Sie können nur alle $config[postdelay] Sekunden einen neuen Thread erstellen.");
    }
}

Der "ANTI Guest Spamm"-Schutz zieht trotzdem noch, da wird ja offensichtlich noch die IP gescheckt.

Gruß Frank

Seite 1 von 1