Fehler beim Eintrag von Termin

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
woehner
Beiträge: 37
Registriert: 14. Jul 2009, 18:01

Fehler beim Eintrag von Termin

Beitrag von woehner »

Hallo,

seit einer Woche habe ich einen Fehler beim Termineintrag bzw. hinzufügen eines Termines.

Folgende Fehlermeldung erscheint:

Warning: Cannot modify header information - headers already sent by (output started at /home/www/web335/html/admidio/adm_program/modules/dates/dates_function.php:1) in /home/www/web335/html/admidio/adm_program/system/login_valid.php on line 30


Ich habe meines Wissens nichts geändert.

Hat jemand eine Idee????

Danke

MFG
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Woehner,

das sieht danach aus das du vielleicht doch mal die dates_function.php geöffnet und gespeichert hast.
Ursache ist meistens, dass die jetzt nicht mehr in UTF8 sondern in ANSI gespeichert ist.

Lad doch einfach noch mal admidio runter und tausch die dates_function.php aus.

Gruß
Fasse
woehner
Beiträge: 37
Registriert: 14. Jul 2009, 18:01

Beitrag von woehner »

Danke Fasse habe ich neu erstellt. Es funktioniert nun wieder alles.
Jimly
Beiträge: 38
Registriert: 24. Mär 2010, 01:40

Beitrag von Jimly »

hallo ich habe ein ähnliche Problem bei dern Terminen nach dem Update von 2.1.10 auf 2.2.1:
Was empfiehlst Du da?


S Q L - E R R O R

CODE: 1452
Cannot add or update a child row: a foreign key constraint fails (`admidio/adm_date_role`, CONSTRAINT `adm_FK_DTR_DAT` FOREIGN KEY (`dtr_dat_id`) REFERENCES `adm_dates` (`dat_id`))

B A C K T R A C E

FILE: adm_program/system/db/mysql.php
LINE: 209
CALL: DB->db_error()

FILE: adm_program/system/db/mysql.php
LINE: 79
CALL: MySqlDB->db_error()

FILE: adm_program/system/classes/table_access.php
LINE: 346
CALL: MySqlDB->query()

FILE: adm_program/system/classes/table_date.php
LINE: 245
CALL: TableAccess->save()

FILE: adm_program/modules/dates/dates_function.php
LINE: 291
CALL: TableDate->save()
Benutzeravatar
fasse
Administrator
Beiträge: 6170
Registriert: 12. Nov 2005, 16:06

Beitrag von fasse »

Hallo Jimly,

dein Problem scheint anders gelagert zu sein. Das hatten wir auch schon mal bei einer Datenbank.

Dein Problem könnte sein, dass durch eine MySQL-Migration/Umstellung deine vorhandenen Tabellen als MyISAM, deine DB aber das von uns bevorzugte InnoDB unterstützt. Jetzt werden alle neuen Tabellen durch unser Update als InnoDB angelegt, alle alten bleiben MyISAM. Dies verträgt sich dann nicht richtig.

Du könntest das jetzt heilen, indem du der Doku http://www.admidio.org/dokuwiki/doku.ph ... eim_update folgst, allerdings am Ende kein Update machen musst, sondern nur die Struktur neu einspielst und danach deine Daten.

Eine schnelle Lösung wäre auch alle neuen Tabellen manuell auf MyISAM umstellen, allerdings verlagert das das Problem nur bis zum nächsten Update, wenn wir wieder Tabellen anlegen.

Viele Grüße
Fasse
Jimly
Beiträge: 38
Registriert: 24. Mär 2010, 01:40

Beitrag von Jimly »

Servus Fasse,

habe diese Umstellung nach Anleitung erfolgreich durchgeführt!
Nun lassen sich auch Termine wieder anlegen.

Toll ist auch die 2.2.3, die mittlerweile eine Problemlosere Umstellung von 2.1 auf 2.2 ermöglicht!

Ein Lob und Danke Euch Entwicklern.

(wann habt Ihr eigentlich Zeit eich Gedanken zum Coding zu machen, wenn da immer soviele Support-Anfragen sind?)
Jochen
Team
Beiträge: 1506
Registriert: 22. Feb 2006, 18:11

Beitrag von Jochen »

Gute Frage :-)
Hardy
Beiträge: 53
Registriert: 5. Feb 2007, 10:41
Kontaktdaten:

Beitrag von Hardy »

Hallo zusammen,

versuche seit 2 Tagen das Update von 2.1.11 auf 2.2.6. Funktionierte soweite eigentlich reibungslos. Bis auf das Problem Termin einzutragen.

Gleiche Fehlermeldung wie bei Jimly.

Habe in Meiner Datenbank nachgesehen und tatäschlich, es sind nur die Tabellen adm_date_role und adm_rooms als InnoDB angelegt.
Die bisherigen Tabellen haben alle MyISAM.

Also bin ich wie im Link von fasse beschrieben vorgegangen.
http://www.admidio.org/dokuwiki/doku.ph ... eim_update

Entgegen meiner ersten Erfahrung mit dieser Vorgehensweise hat es inzwischen auch prima funktioniert. Wer lesen kann ist eben klar im Vorteil! Man muss eben die komplette db.sql auf die Einträge % PRAEFIX % durchsuchen, am besten mit Suchen und Ersetzen, dann funktioniert es auch.

Soweit alles klar. Alle Tabellen wurden auf InnoDB umgestellt.
Termineinträge funktionieren auch, aber sobald ich den Haken bei "Anmeldung möglich" setzte, kann man einen angelegten Termin nicht mehr löschen.
Es erscheint aber keine Fehlermeldung wenn man auf die Frage: Willst Du den Termin löschen mit JA antwortet erscheint nur:
Es ist ein Fehler aufgetreten, der Eintrag konnte nicht gelöscht werden.
Diesen Termin kann ich nur manuell aus der Datenbank löschen.

Trage ich bei "Sichtbar für" eine Gruppe ein, erscheint der Termin trotz meiner Anmeldung nicht in der Terminliste.
In der Datenbank ist er aber vorhanden. Will ich diesen Eintrag dann über die Datenbank löschen sagt er:

#1451 - Cannot delete or update a parent row: a foreign key constraint fails (`usr_web317_1/form_date_role`, CONSTRAINT `form_FK_DTR_DAT` FOREIGN KEY (`dtr_dat_id`) REFERENCES `form_dates` (`dat_id`))

Ich hab gesehen, dass in der Datenbank alle Tabellen InnoDB sind. Ganz unten bei der zusammenfassung steht dann aber wieder MyISAM und wenn man die Maus drauf stellt heißt es:
Neue Tabellen werden im Format ISAM angelegt.

Kann man das über phpMyAdmin irgendwo einstellen? Am besten nur für diese Datenbank.
Sorry dass die Ausführung jetzt so lange geworden ist. :oops:


Vielen Dank
Gruß Hardy
Antworten