Seite 1 von 1
edit funktion defekt
Verfasst: 16.03.2007 21:27
von magicpain
hallo alle,
ich habe seit einiger zeit ein problem mit der edit funktion. jedes mal, wenn ein user oder auch der admin versucht einen beitrag zu editieren, kommt volgende meldung "Du musst ein Thema für deine Antwort auswählen.", sobald man auf die edit schaltfläche klickt.
soweit ich es noch weis, ist das problem seit dem ich das quick reply mod für den anti bot question mod installiert habe.
kann mir jemand helfen?
der dennis.
Verfasst: 17.03.2007 15:42
von cYbercOsmOnauT
Dann überprüf bei beiden Mods nochmal die Schritte in der posting.php und schau wo Du den Fehler verbockt hast.
Grüße,
Tekin
Verfasst: 18.03.2007 21:08
von magicpain
danke für den anhaltspunkt.
ich bin die installation nochmal durchgegangen, hab aber keinen fehler gefunden.
ich hab hier mal die
posting.php als .txt datei. kann sich das eventuell mal jemand ansehen? vielleicht bin ich zu blind dafür?! wär echt toll, wenn mir da jemand helfen könnte.
danke schonmal, dennis
Verfasst: 18.03.2007 21:17
von gn#36
Ohne da einen Blick rein geworfen zu haben:
Wie sieht denn die Ziel URL des Links(Editbuttons) aus?
Wenn da nämlich schon ein Fehler drin ist, dann brauchen wir in der posting.php nicht zu suchen...
EDIT: Ich vermute ich habe den Fehler:
Code: Alles auswählen
// Anti Bot Question Mod - Start
ABQ_AntwortPruefen('P');
// Anti Bot Question Mod - End
Ich denke diese Stelle muss VOR
und nicht danach. Ich kenne den Mod zwar nicht genau, aber es macht für mich wenig Sinn im Falle des Edits die Antwort zu prüfen, editieren kann man ja sowieso nur wenn man angemeldet ist.
Verfasst: 18.03.2007 21:58
von magicpain
der edit button ist auf die posting.php verlinkt
ich hab jetzt den code
Code: Alles auswählen
// Anti Bot Question Mod - Start
ABQ_AntwortPruefen('P');
// Anti Bot Question Mod - End
jetzt VOR
gesetzt. wenn ich jetzt auf einen edit- oder auch einen anderen postbutton klicke, kommt nur noch eine weisse seite ohne meldungen. habs also wieder rückgängig gemacht.
fällt dir noch was ein?
Verfasst: 18.03.2007 22:17
von gn#36
Also die Stelle die ich gepostet habe ist auf jeden Fall der Fehler. In der original posting.php sieht der Bereich so aus:
Code: Alles auswählen
switch ( $mode )
{
case 'newtopic':
if ( empty($forum_id) )
{
message_die(GENERAL_MESSAGE, $lang['Forum_not_exist']);
}
...SONSTIGER CODE...
break;
case 'reply':
case 'vote':
if ( empty( $topic_id) )
{
message_die(GENERAL_MESSAGE, $lang['No_topic_id']);
}
...SONSTIGER CODE...
break;
case 'quote':
case 'editpost':
case 'delete':
case 'poll_delete':
if ( empty($post_id) )
{
message_die(GENERAL_MESSAGE, $lang['No_post_id']);
}
...SONSTIGER CODE...
break;
default:
message_die(GENERAL_MESSAGE, $lang['No_valid_mode']);
}
In deinem Code sind die Gruppen völlig anders und falsch aufgeteilt:
Code: Alles auswählen
switch ( $mode )
{
case 'newtopic':
if ( empty($forum_id) )
{
message_die(GENERAL_MESSAGE, $lang['Forum_not_exist']);
}
... SONSTIGER CODE ...
break;
case 'reply':
case 'editpost':
... BOT MOD -> KEIN BREAK!...
case 'vote':
if ( empty( $topic_id) )
{
message_die(GENERAL_MESSAGE, $lang['No_topic_id']);
}
...SONSTIGER CODE...
break;
case 'quote':
case 'delete':
case 'poll_delete':
if ( empty($post_id) )
{
message_die(GENERAL_MESSAGE, $lang['No_post_id']);
}
...SONSTIGER CODE...
break;
default:
message_die(GENERAL_MESSAGE, $lang['No_valid_mode']);
}
Im editpost Modus wird die Übergabe einer Topic_id abgefragt, diese wird aber gar nicht übergeben, daher kommt die Fehlermeldung.
Als erstes solltest du dir die Stelle in der Modbeschreibung noch mal ganz genau anschauen und nur an dieser Stelle vielleicht einfach neu ausgehend von einer Originaldatei neu durchführen. Wenn das noch nicht klappt solltest du versuchen deine Struktur auf die Struktur des Originals anzupassen.
Wenn dass auch nicht klappt melde dich noch mal.
Verfasst: 18.03.2007 22:59
von magicpain
okay, ich hab den code jetzt geändert. sieht jetzt so aus:
Code: Alles auswählen
switch ( $mode )
{
case 'newtopic':
if ( empty($forum_id) )
{
message_die(GENERAL_MESSAGE, $lang['Forum_not_exist']);
}
...SONSTIGER CODE...
break;
case 'reply':
case 'vote':
if ( empty( $topic_id) )
{
message_die(GENERAL_MESSAGE, $lang['No_topic_id']);
}
...SONSTIGER CODE...
break;
case 'quote':
// Anti Bot Question Mod - Start
ABQ_AntwortPruefen('P');
// Anti Bot Question Mod - End
case 'editpost':
case 'delete':
case 'poll_delete':
if ( empty($post_id) )
{
message_die(GENERAL_MESSAGE, $lang['No_post_id']);
}
...SONSTIGER CODE...
break;
default:
message_die(GENERAL_MESSAGE, $lang['No_valid_mode']);
}
und es funktioniert wieder
vielen lieben dank!!! du hast mir sehr geholfen!
Verfasst: 19.03.2008 14:23
von ollig
Hallo ich habe das gleiche Problem.
meine posting.php sieht wie folgt aus. Eigentlich doch genau, wie es sein sollte oder?
Code: Alles auswählen
switch ( $mode )
{
case 'newtopic':
if ( empty($forum_id) )
{
message_die(GENERAL_MESSAGE, $lang['Forum_not_exist']);
}
$sql = "SELECT *
FROM " . FORUMS_TABLE . "
WHERE forum_id = $forum_id";
break;
case 'reply':
case 'vote':
if ( empty( $topic_id) )
{
message_die(GENERAL_MESSAGE, $lang['No_topic_id']);
}
$sql = "SELECT f.*, t.topic_status
FROM " . FORUMS_TABLE . " f, " . TOPICS_TABLE . " t
WHERE t.topic_id = $topic_id
AND f.forum_id = t.forum_id";
break;
case 'quote':
case 'editpost':
case 'delete':
case 'poll_delete':
if ( empty($post_id) )
{
message_die(GENERAL_MESSAGE, $lang['No_post_id']);
}
$select_sql = ( !$submit ) ? ", t.topic_title, p.enable_bbcode, p.enable_html, p.enable_smilies, p.enable_sig, p.post_username, p.post_time, pt.post_subject, pt.post_text, pt.bbcode_uid, u.username, u.user_id, u.user_sig" : '';
$from_sql = ( !$submit ) ? ", " . POSTS_TEXT_TABLE . " pt, " . USERS_TABLE . " u" : '';
$where_sql = ( !$submit ) ? "AND pt.post_id = p.post_id AND u.user_id = p.poster_id" : '';
$sql = "SELECT f.*, t.topic_id, t.topic_status, t.topic_type, t.topic_first_post_id, t.topic_last_post_id, t.topic_vote, p.post_id, p.poster_id" . $select_sql . "
FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t, " . FORUMS_TABLE . " f" . $from_sql . "
WHERE p.post_id = $post_id
AND t.topic_id = p.topic_id
AND f.forum_id = p.forum_id
$where_sql";
break;
default:
message_die(GENERAL_MESSAGE, $lang['No_valid_mode']);
}
Ich würde mich freuen, wenn mir einer helfen könnte!