Fehlermeldung beim senden einer Nachricht an eine Gruppe

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
ghoeppener
Beiträge: 5
Registriert: 2. Okt 2015, 10:52

Fehlermeldung beim senden einer Nachricht an eine Gruppe

Beitrag von ghoeppener »

Hallo,
wenn ich eine E-Mail an eine Gruppe sende, kommt nach dem drücken des senden Buttons, folgende Fehlermeldung:
Die E-Mail wird korrekt versand.

Code: Alles auswählen

S Q L - E R R O R

CODE: 1452
Cannot add or update a child row: a foreign key constraint fails ("g_hoeppener_1"."adm_messages", CONSTRAINT "adm_FK_MSG_USR_SENDER" FOREIGN KEY ("msg_usr_id_sender") REFERENCES "adm_users" ("usr_id"))

B A C K T R A C E

FILE: adm_program/system/classes/dbmysql.php
LINE: 67
CALL: DBCommon->db_error()

FILE: adm_program/system/classes/dbmysql.php
LINE: 202
CALL: DBMySQL->db_error()

FILE: adm_program/modules/messages/messages_send.php
LINE: 491
CALL: DBMySQL->query()
Systeminfo:
Admidio-Version 3.0.2
Letzter Update-Schritt 610
PHP-Version 5.4.45-0+deb7u1
MySQL-Version 5.5.44-0+deb7u1
Safe Mode aus

Kann mir da jemand helfen?

Mit freundlichen Grüßen

Guido Höppener
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Re: Fehlermeldung beim senden einer Nachricht an eine Gruppe

Beitrag von fasse »

Hallo Guido,

das ist sehr sonderbar. Der CONSTRAINT der hier bemängelt wird, ist der von der User-ID des Absenders. Das bist eigentlich du und diese User-ID sollte immer gefüllt sein.

Ist das noch eine lokale Instanz auf deinem Rechner? Kannst du mal den Debugmodus aktivieren und eine PHP-Logdatei einrichten. Schau nachdem der Fehler auftritt mal in die Logdatei. Dort müsste dann an letzter Stelle das INSERT-Statement stehen, welches zu dem Fehler geführt hat.

Kannst du das hier mal bitte posten.

Viele Grüße
Fasse
ghoeppener
Beiträge: 5
Registriert: 2. Okt 2015, 10:52

Re: Fehlermeldung beim senden einer Nachricht an eine Gruppe

Beitrag von ghoeppener »

Hallo,
zuerst einmal danke für die Antwort.
Die Seite ist online (also nicht mehr lokal) und da habe ich nur schwer Zugriff auf die php.ini, mal schauen was ich da so machen kann.
Aber vielleicht gibt es ja auch noch eine andere Idee was ich noch machen könnte.

Mit freundlichen Grüßen

Guido Höppener
ghoeppener
Beiträge: 5
Registriert: 2. Okt 2015, 10:52

Re: Fehlermeldung beim senden einer Nachricht an eine Gruppe

Beitrag von ghoeppener »

Ich hoffe das hilft weiter?
Adresse der Website hab ich gekürzt.

Code: Alles auswählen

[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: INSERT INTO adm_messages (msg_type, msg_subject, msg_usr_id_sender, msg_usr_id_receiver, msg_timestamp, msg_read) , referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:             VALUES ('EMAIL', 'Test', 1, 'groupID: 1', CURRENT_TIMESTAMP, 0), referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: 1452: Cannot add or update a child row: a foreign key constraint fails ("g_hoeppener_1"."adm_messages", CONSTRAINT "adm_FK_MSG_USR_SENDER" FOREIGN KEY ("msg_usr_id_sender") REFERENCES "adm_users" ("usr_id")), referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: SELECT COUNT(1) as count FROM adm_messages WHERE msg_usr_id_receiver LIKE '1' and msg_read = 1, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: Found rows: 1, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: SELECT COUNT(1) as count FROM adm_messages WHERE msg_usr_id_receiver LIKE '1' and msg_read = 1, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: Found rows: 1, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: SELECT * FROM adm_organizations, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                  WHERE  org_org_id_parent = 1, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: Found rows: 0, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: SELECT DISTINCT dat_id, dat_cat_id, cat_name, dat_begin, dat_all_day, dat_location, dat_headline, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:             FROM adm_date_role, adm_dates, adm_categories, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:             WHERE dat_id = dtr_dat_id, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                 AND ( dtr_rol_id IS NULL OR dtr_rol_id IN (SELECT mem_rol_id FROM adm_members WHERE mem_usr_id = 1) ), referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                 AND DATE_FORMAT(dat_begin, '%Y-%m') = '2015-10', referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                 , referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:             AND dat_cat_id = cat_id, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:             ORDER BY dat_begin ASC, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: Found rows: 0, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr: SELECT DISTINCT, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                    usr_id, last_name.usd_value AS last_name, first_name.usd_value AS first_name,, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                    birthday.usd_value AS birthday, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:               FROM adm_roles, adm_categories, adm_members, adm_users, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:               JOIN adm_user_data AS birthday ON birthday.usd_usr_id = usr_id, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                AND birthday.usd_usf_id = 10, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                AND MONTH(birthday.usd_value) = 10, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:               LEFT JOIN adm_user_data AS last_name ON last_name.usd_usr_id = usr_id, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                AND last_name.usd_usf_id = 1, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:               LEFT JOIN adm_user_data AS first_name ON first_name.usd_usr_id = usr_id, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                AND first_name.usd_usf_id = 2, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:              WHERE rol_cat_id = cat_id, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                AND cat_org_id = 1, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                AND rol_id     = mem_rol_id, referer: http://.../adm_program/modules/messages/messages_write.php
[Sat Oct 17 08:56:48 2015] [warn] [client IP] mod_fcgid: stderr:                AND mem_usr_id = usr_id, referer: http://.../adm_program/modules/messages/messages_write.php
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Re: Fehlermeldung beim senden einer Nachricht an eine Gruppe

Beitrag von fasse »

Hallo Guido,

ja, das war genau das, was ich sehen wollte. Hier ist jetzt auch das SQL-Statement zu sehen, was zum Fehler führt:

Code: Alles auswählen

INSERT INTO adm_messages (msg_type, msg_subject, msg_usr_id_sender, msg_usr_id_receiver, msg_timestamp, msg_read)
 VALUES ('EMAIL', 'Test', 1, 'groupID: 1', CURRENT_TIMESTAMP, 0)
Laut der Fehlermeldung gibt es bei dir keinen Benutzer mit der ID 1. Das kann aber eigentlich nicht sein. Wahrscheinlich bist du selbst der Benutzer mit ID=1. Hast du Zugriff auf die Datenbank? Evtl. über phpmyadmin bei deinem Hoster. Schau dort mal in die Tabelle adm_users und such dort mal in der Spalte usr_id, ob es dort jemanden mit dem Wert 1 gibt.

Viele Grüße
Fasse
ghoeppener
Beiträge: 5
Registriert: 2. Okt 2015, 10:52

Re: Fehlermeldung beim senden einer Nachricht an eine Gruppe

Beitrag von ghoeppener »

Danke für die Hilfe.
Schaue ich mir heute Abend an und werde vom Ergebnis berichten.

Gruss Guido
ghoeppener
Beiträge: 5
Registriert: 2. Okt 2015, 10:52

Re: Fehlermeldung beim senden einer Nachricht an eine Gruppe

Beitrag von ghoeppener »

So, nachgeschaut, ja ich bin selber usr 1.

Gruss Guido
weissst
Developer
Beiträge: 342
Registriert: 4. Nov 2011, 18:07
Wohnort: 54xx

Re: Fehlermeldung beim senden einer Nachricht an eine Gruppe

Beitrag von weissst »

Hallo,

und in der Empfänger Rolle bist du das einzige Mitglied mit einer gültigen E-Mail adresse?
wenn ja, dann erklärt es den Fehler, ansonsten muss ich mir das nochmal durch-denken.

wir sollten aber auf jeden Fall eine Meldung ausgeben, wenn am ende keine gültigen Empfänger in der Liste sind.

lg
Stefan
Benutzeravatar
fasse
Administrator
Beiträge: 6229
Registriert: 12. Nov 2005, 16:06

Re: Fehlermeldung beim senden einer Nachricht an eine Gruppe

Beitrag von fasse »

weissst hat geschrieben:und in der Empfänger Rolle bist du das einzige Mitglied mit einer gültigen E-Mail adresse?
wenn ja, dann erklärt es den Fehler, ansonsten muss ich mir das nochmal durch-denken.
Aber dann darf doch trotzdem kein Constraint-Fehler kommen, da doch die User-Id existiert.

Habs auch mal in der Demo getestet. Diesen Fall fangen wir mit einem Hinweis ab. Mir ist das alles sehr rätselhaft.
Antworten