Der Code ist nicht unübersichtlich. Die Berechnungen sind nur schwer nachzuvollziehen.
Da du im ACP ein Bild erhälst und auch dein Test (mit dem eingefügtem code) ein Bild Generiert, kann es nur ein Fehler sein der im direktem Zusammenhang mit der Datenbank steht!
Somit kann dein Problem nur hier sein:
- Code: Alles auswählen
// Try and grab code for this id and session
$sql = 'SELECT code
FROM ' . CONFIRM_TABLE . "
WHERE session_id = '" . $userdata['session_id'] . "'
AND confirm_id = '$confirm_id'";
$result = $db->sql_query($sql);
// If we have a row then grab data else create a new id
if ($row = $db->sql_fetchrow($result))
{
$db->sql_freeresult($result);
$code = $row['code'];
}
else
{
exit;
}
Entweder erhält diese Abfrage kein Ergebnis (dann bricht das Script ab) oder die Abfrage verursacht eine Fehlermeldung (dadurch wird ein Fehlerhaftes Bild generiert das vom Browser natürlich nicht dargestellt werden kann).
In beiden Fällen ist es kein Fehler des AVC! Denn das ist absicht.
In beiden Fällen liegt es entweder an einer fehlenden bzw. falschen session_id oder an einer fehlenden (falsch übergebenen) confirm_id.
Apropos confirm_id. Wenn die confirm_id fehlt, dann wird das Script bereits hier
- Code: Alles auswählen
if (empty($HTTP_GET_VARS['id']))
{
exit;
}
abgebrochen. Was natürlich ebenfalls zu einem fehlendem Image führt.
Such den Fehler also nicht in der usercp_confirm.php sondern in der usercp_register.php und evtl. auch in der profile.php (letzteres ist eher unwahrscheinlich).
Zugefügt nach 6 Minute(n): Nutzt du evtl. mySQLi ???
Wenn ja, dann stell mal auf mySQL um. Ich kenne mich mit mySQLi nicht aus, aber mir ist bekannt der die mysqli.php (von dem MOD der das phpBB auf mySQLi umstellt) noch nicht 100%ig ok ist.
Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.