mod_form - Warning nach dem Absenden einer Mail

Diskussion zum Formular-Modul für ConPresso 4
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 851
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 226 Mal
Danksagung erhalten: 33 Mal

mod_form - Warning nach dem Absenden einer Mail

Beitrag von hscha »

Hallo Markus,
beim Durchchecken von mod_form (auf meiner Site mod_form-contact) erhalte ich nach dem Absenden einer Mail die folgende Warnung:
Warning: Undefined array key "rubric" in /www/htdocs/.../gesangskreis-wichern-radeland.de/cms/_cfg/global_header.php on line 66
Der Arraykey 'rubric' ist leer, obwohl mod_form eine Rubrik zugewiesen ist. Das passiert immer, wenn eine Meldung wie "Die Nachricht wurde versandt" ausgegeben wird.
Grundsätzliche Frage: Wie vermeide ich leere Arraykeys bzw. wie weise ich ['rubric'] einen Wert zu, wenn er nicht definiert ist?
Grüße von Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7557
Registriert: 01.01.1970 02:00
Hat sich bedankt: 118 Mal
Danksagung erhalten: 943 Mal

Re: mod_form - Warning nach dem Absenden einer Mail

Beitrag von MarkusR »

Naja, in Deiner Zeile 66 steht

Code: Alles auswählen

switch ($_GET['rubric']){
Formulare werden aber meist per POST versendet.

Will man auf POST (Formular) und GET (URL) reagieren, dann benutzt man REQUEST

Code: Alles auswählen

switch ($_REQUEST['rubric']){
und falls es gar keine Rubrik gibt, dann

Code: Alles auswählen

if (isset($_REQUEST['rubric']) && $_REQUEST['rubric'] != '')  {
    switch ($_REQUEST['rubric']){
    ...
    }
}
oder prophylaktisch belegen

Code: Alles auswählen

initVar($_REQUEST['rubric'], '');
switch ($_REQUEST['rubric']){
...
}
was aber im folgenden Code zu merkwürdigen Ergebnissen führen kann, je nachdem was man mit der Variable so anstellen wollte
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 851
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 226 Mal
Danksagung erhalten: 33 Mal

Re: mod_form - Warning nach dem Absenden einer Mail

Beitrag von hscha »

Ich habe mich für die Variante

Code: Alles auswählen

initVar($_REQUEST['rubric'], '');
switch ($_REQUEST['rubric']){
...
}
entschieden. Läuft! Danke!
Zuletzt geändert von hscha am 24.01.2024 15:48, insgesamt 1-mal geändert.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7557
Registriert: 01.01.1970 02:00
Hat sich bedankt: 118 Mal
Danksagung erhalten: 943 Mal

Re: mod_form - Warning nach dem Absenden einer Mail

Beitrag von MarkusR »

Nur als gutgemeinter Hinweis: es ist hilfreich, wenn Du nicht ausschließlich den Zitat-Button benutzt

bb-code.jpg

Es gibt den -Button für Code-Blöcke mit Code-Highlighting und den C-Button für einzelne Code-Fragmente.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 851
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 226 Mal
Danksagung erhalten: 33 Mal

Re: mod_form - Warning nach dem Absenden einer Mail

Beitrag von hscha »

Hab ich oben mal geändert... Sorry!
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 851
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 226 Mal
Danksagung erhalten: 33 Mal

Re: mod_form - Warning nach dem Absenden einer Mail

Beitrag von hscha »

Hallo Markus,
ich habe "Wild Horses" auf meine Testsite hochgeladen. Sieht gut aus!
Ein Problem tritt beim Aufruf der Einstellungen von mod_form auf (heißt bei mir 'mod_form-contact'):
PHP Warning: Undefined array key "u0" in /www/htdocs/.../testsite.gesangskreis-wichern-radeland.de/cms/mod_form-contact/includes/inc_options.inc.php on line 895
Diese Meldung erscheint 11mal mit verschiedenen Variablen...
Ich habe keine Einstellungen gespeichert, nur aufgerufen.
Sollen die Variablen mit initVar abgefangen werden?
Grüße von Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7557
Registriert: 01.01.1970 02:00
Hat sich bedankt: 118 Mal
Danksagung erhalten: 943 Mal

Re: mod_form - Warning nach dem Absenden einer Mail

Beitrag von MarkusR »

Das passiert bei vielen Modulen bei Updates.
Daher MÜSSEN die Einstellungen IMMER gespeichert werden!
Siehe auch die ausführliche Update-Anleitung unter
viewtopic.php?p=29486#p29486
dort Punkt D
D) Nun prüft man die Einstellungen der Module (anhand der bei der Vorbereitung dokumentierten Einstellungen), korrigiert oder ergänzt diese und klickt bei JEDEM danach auf SPEICHERN.
Beim Formularmodul muss beim Update von sehr alten Versionen zusätzlich die Nutzung des Kontrollkästchen-Arrays initialisiert werden.

Dafür bei Bestätigungs-Mail senden ALLE Häkchen setzen, dann speichern, alle Häkchen wieder entfernen (falls nicht genutzt, und erneut speichern.

Ja, sorry, ist etwas umständlich, aber die Speicherung von Moduleinstellungen ist bei ConPresso etwas unklug bzw. sehr "simpel" gelöst.
Mit initVar() würden ggf. ungewollte Einstellungen vorgenommen, daher geht das so nicht.

Bei einer Neuinstallation ist das natürlich kein Problem...
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 851
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 226 Mal
Danksagung erhalten: 33 Mal

Re: mod_form - Warning nach dem Absenden einer Mail

Beitrag von hscha »

Danke, Markus!