phpBBDumper ehemals MyOOSDumper

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
qiumi
Mitglied
Beiträge: 2
Registriert: 20.08.2025 17:50

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von qiumi »

OK, konnte es lösen.
Scheinbar hat mein FTP Programm, wieso auch immer, die Dateien mit 750 und 640 hocgeladen und nicht wie es wohl sein sollte mit Rechten 755 und 644.
Hab alles von Hand geändert und es ging.
Allerdings hab ich noch bei einzelnen Dingen innerhalb des Dumpers nun weiße Seiten wenn ich sie ausführe.
Gibt es irgendwie ne Übersicht mit welchen Berechtigungen die Dateien aufm FTP liegen sollten?
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12239
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von Mahony »

Hallo qiumi

Weiße Seiten lassen auf einen Server-Fehler schließen.

Welche PHP-Version läuft denn auf dem Webspace?

Der phpBBDumper ist nämlich nicht mehr kompatibel mit PHP7

P.S. Ansonsten poste bitte das errorlog vom Server (nicht vom Dumper).

Grüße Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Takumisan
Mitglied
Beiträge: 1
Registriert: 21.08.2025 11:45

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von Takumisan »

Mahony hat geschrieben: 30.07.2025 10:57
chris1278 hat geschrieben: 30.07.2025 10:51 Ok ich seh gerade ich habs nicht umbenannt. Du machst das aber recht kompliziert. Biete die dateien doch direkt so an das man die direkt entpacken kann.
Geht leider nicht, da zip nicht so eine starke Komprimierung bietet und ich nur 2MB pro Datei hochladen darf auf dem Webspace.

Grüße Mahony
Hallo Mahony,
ich würde Dir eine DE-Domain und Webspace für dieses Projekt zur Verfügung stellen. Solche Arbeit muss einfach unterstützt werden.
Melde Dich bitte einfach falls Du interesse hast.

Herzliche Grüße aus Regen
Frank
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12239
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von Mahony »

Hallo Takumisan

Danke für das Angebot, aber das mit dem zu großen Download-Paket hat sich ja mittlerweile erledigt (wurde extrem abgespeckt).

Grüße Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3989
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von chris1278 »

Hi Mahony.

Hab da ein Problem kann aber nicht sagen, ob es am Dumper liegt oder an der Datenbank.

Wenn ich bei einem bestimmten Forum den Benutzer Anonymous als den Gast editieren will, bekomme ich folgende Fehlermeldung:

Code: Alles auswählen

Fatal error: Uncaught TypeError: sizeof(): Argument #1 ($value) must be of type Countable|array, null given in /var/www/vhosts/h511421.web288.dogado.net/httpdocs/qrz11com/dumper/inc/sqlbrowser/sql_record_update_inputmask.php:39 Stack trace: #0 /var/www/vhosts/h511421.web288.dogado.net/httpdocs/qrz11com/dumper/sql.php(305): include() #1 {main} thrown in /var/www/vhosts/h511421.web288.dogado.net/httpdocs/qrz11com/dumper/inc/sqlbrowser/sql_record_update_inputmask.php on line 39
Ich habe schon den Gast komplett gelöscht und via STK neu erstellt. Keine Änderung.

Alle anderen User lassen sich mit dem phpbbdumper problemlos bearbeiten.

Wenn du da Zugang brauchst (ftp und phpbbdumper), sag Bescheid, richte ich dir gerne ein.

Sofern du nicht weißt, warum dies passiert.

Ist nur in dem einen Forum und nur bei dem einen Benutzer so.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12239
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von Mahony »

Hallo Chris

Der Fehler kommt daher weil das SQL-Ergebnis leer ist (also NULL) und das gibt unter PHP8 eine Fehlermeldung.

Versuchs mal damit:

suche in der /mod/inc/sqlbrowser/sql_record_update_inputmask.php

Code: Alles auswählen

$sqledit = "SELECT * FROM `$tablename` WHERE ".$recordkey;
$res = mod_query($sqledit);
$record = mysqli_fetch_array($res, MYSQLI_ASSOC); // get the record
$num = sizeof($record); // get the nr of fields of the record
ersetze mit

Code: Alles auswählen

$sqledit = "SELECT * FROM `$tablename` WHERE " . $recordkey;
$res = mod_query($sqledit);

// Datensatz holen
$record = mysqli_fetch_array($res, MYSQLI_ASSOC);

// Prüfen, ob ein Datensatz vorhanden ist
if (is_array($record)) {
    $num = sizeof($record); // Anzahl der Felder
} else {
    $num = 0; // Kein Datensatz gefunden
    echo "⚠️ Hinweis: Kein Datensatz gefunden für die Abfrage: $sqledit";
}

Besser wäre allerdings das hier

Code: Alles auswählen

$sqledit = "SELECT * FROM `$tablename` WHERE " . $recordkey;
$res = mod_query($sqledit);

// Prüfen, ob die Abfrage erfolgreich war
if ($res && mysqli_num_rows($res) > 0) {
    $record = mysqli_fetch_array($res, MYSQLI_ASSOC);

    // Sicherstellen, dass $record ein Array ist
    if (is_array($record)) {
        $num = sizeof($record); // Anzahl der Felder
    } else {
        $num = 0;
        echo "⚠️ Datensatz konnte nicht korrekt gelesen werden.";
    }
} else {
    $num = 0;
    echo "⚠️ Kein Datensatz gefunden oder Fehler bei der Abfrage: $sqledit";
}

Was ist neu bei dem neuen Code?

mysqli_num_rows($res) prüft, ob überhaupt ein Ergebnis zurückkam.

Fehlermeldungen helfen dir beim Debuggen, falls die Abfrage leer ist oder fehlschlägt.

Sicherheitsprüfung auf is_array($record) verhindert den TypeError.



P.S. Den User Anonymous sollte man nicht einfach ändern oder löschen!

Grüße Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3989
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von chris1278 »

Sicher da geb ich dir recht aber dennoch muss die funktion auch das können. Ich werde das mal testetn.

@edit

so das zweite eingebaut und dann hauts diese meldung raus:

Code: Alles auswählen

⚠️ Kein Datensatz gefunden oder Fehler bei der Abfrage: SELECT * FROM `phpbb_users` WHERE `user_id`="1" AND `user_type`="2" AND `group_id`="1" AND `user_regdate`="1297351774" AND `username`="Anonymous" AND `username_clean`="anonymous" AND `user_last_active`="1755893854" AND `user_last_confirm_key`="H7PAW0X82J" AND `user_last_search`="1755890860" AND `user_posts`="271" AND `user_lang`="en" AND `user_timezone`="Etc/GMT-1" AND `user_dateformat`="D M d, Y g:i a" AND `user_style`="4" AND `user_full_folder`="-3" AND `user_emailtime`="1697457152" AND `user_topic_sortby_type`="t" AND `user_topic_sortby_dir`="d" AND `user_post_sortby_type`="t" AND `user_post_sortby_dir`="a" AND `user_notify_pm`="1" AND `user_allow_pm`="1" AND `user_allow_viewonline`="1" AND `user_allow_viewemail`="1" AND `user_options`="895" AND `user_sig`="" AND `user_actkey_expiration`="1722310223" AND `user_form_salt`="d8ah3awfxi486hft" AND `user_new`="1" AND `user_rt_enable`="1" AND `user_rt_location`="RT_TOP" AND `user_rt_number`="5" AND `user_elonw`="1"
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12239
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von Mahony »

Hallo Chris

Deine Abfrage ist so restriktiv, dass sie nur dann ein Ergebnis liefert, wenn alle Bedingungen gleichzeitig zutreffen. Schon ein einziges Feld mit einem abweichenden Wert — z. B. ein Zeitstempel, ein leerer String oder ein anderer Zeichensatz — führt dazu, dass kein Datensatz gefunden wird.

Die Abfrage sucht nach einem Datensatz in phpbb_users, bei dem alle Felder exakt bestimmte Werte haben. Und genau das ist das Problem

Grüße Mahony
Zuletzt geändert von Mahony am 22.08.2025 22:27, insgesamt 1-mal geändert.
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3989
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von chris1278 »

Ja das hab ich bei der Anfrage auch erkannt. Die frage ist warum macht er das.

Wie gesagt dies ist nur in dem einen forum so. und auch nur bei dem gast benutzer. alle anderen user lassen sich normal editieren. und bei anderen forum auch der gast.
Benutzeravatar
Mahony
Ehemaliges Teammitglied
Beiträge: 12239
Registriert: 17.11.2005 22:33
Wohnort: Ostfildern Kemnat
Kontaktdaten:

Re: phpBBDumper ehemals MyOOSDumper

Beitrag von Mahony »

Hallo Chris

Wenn nur der Gastbenutzer in einem bestimmten Forum betroffen ist, während alle anderen Benutzer (auch Gäste in anderen Foren) problemlos bearbeitet werden können, dann liegt der Fehler sehr wahrscheinlich an einem inkonsistenten oder beschädigten Datensatz in der Datenbank dieses Forums.

Mögliche Ursachen

1. Der Gastbenutzer wurde manuell verändert
Vielleicht wurde der Gastaccount direkt in der Datenbank bearbeitet oder importiert, und dabei wurden Felder gesetzt, die normalerweise leer oder NULL sein sollten.

2. Ungültige oder inkonsistente Feldwerte
Einige Felder wie user_sig, user_form_salt, user_last_confirm_key oder Zeitstempel (user_last_active, user_emailtime) könnten ungültige oder nicht erwartete Werte enthalten.

3. Fehlende oder doppelte Primärschlüssel
Wenn user_id = 1 mehrfach vorkommt oder inkonsistent ist, kann das zu Problemen beim UPDATE oder SELECT führen.

4. Zeichensatzprobleme
Wenn z. B. username = "Anonymous" in einem Forum UTF-8 ist und im anderen ISO-8859-1, kann der Vergleich fehlschlagen — besonders bei username_clean.


Was du tun kannst

1. Datensatz direkt prüfen
Führe folgenden Befehl aus:

Code: Alles auswählen

SELECT * FROM phpbb_users WHERE user_id = 1;
Vergleiche den Gast-Datensatz mit dem funktionierenden aus einem anderen Forum. Achte auf:

Leere Felder vs. NULL

Zeichensatz

Zeitstempel

Sonderzeichen


2. Nur mit user_id abfragen
Teste, ob du den Datensatz bekommst mit:

Code: Alles auswählen

SELECT * FROM phpbb_users WHERE user_id = 1;
Wenn das klappt, erweitere schrittweise die Bedingungen, bis du siehst, welche das Problem verursacht.

3. Datensatz neu anlegen oder bereinigen
Du kannst den Gastbenutzer exportieren aus einem funktionierenden Forum und in das fehlerhafte importieren — oder den defekten Datensatz manuell bereinigen.


Grüße Mahony
Wer fragt, ist ein Narr für fünf Minuten, wer nicht fragt, ist ein Narr für immer.
Antworten

Zurück zu „Coding & Technik“