[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • xForm sendet alles doppelt
Seite 1 von 1

xForm sendet alles doppelt

Verfasst: 2. Jan 2010, 16:49
von angel618
Hallo, hab das Addon xForm installiert und nach dem senden des Formulars bekomme ich immer 2 identische Emails.

Und wenn ich die Daten auch noch in einer DB abspeichern will, werden auch hier 2 Einträge gemacht !

Hab ich irgend einen Fehler im Formular den ich übersehe ?

Code: Alles auswählen

html|<div id="anmeldung">

radio|gender|Geschlecht :|weiblich=weiblich;männlich=männlich|[no_db]|
text|name|Name:||[no_db]
text|vorname|Vorname:||[no_db]
text|gemeinschaft|Leichtathletikgemeinschaft:||[no_db]
text|verein|Verein:||[no_db]
select|laufnr|Laufnummer:|1=1;2=2;3=3;4=4;5=5;6=6;7=7|[no_db]|defaultwert|multiple=1
html|<div class="marathon">
html|<div class="marathontxt">Bitte auswählen:</div>
checkbox|viertelm|Viertelmarathon|ja|0|[no_db]
checkbox|halbm|Halbmarathon|ja|0|[no_db]
html|</div>
text|jahrgang|Jahrgang:||[no_db]
text|email|Email:||[no_db]

html|<div class="haftung">
checkbox|haftung|Ich habe den Haftungsauschluss verstanden und akzeptiert|ja|0|[no_db]
html|</div>

html|<p><input type="reset" class="reset" /></p>
submit|senden|Anmeldung senden|[no_db]|submit

validate|notEmpty|gender|Sie müssen Ihr Geschlecht auswählen ! 
validate|notEmpty|name|Sie müssen einen Namen eintragen ! 
validate|notEmpty|vorname|Sie müssen einen Vornamen eintragen ! 
validate|email|email|Sie müssen eine korrekte Email-Adresse eintragen !
validate|empty|email|Sie müssen eine Email-Adresse eintragen !
validate|size|jahrgang|4|Jahrgang muss  4 Zeichen enthalten !
validate|notEmpty|jahrgang|Sie müssen Ihren Jahrgang eintragen ! 

validate|notEmpty|haftung|Sie müssen den Haftungsausschluss akzeptieren ! 

html|</div>


Lösung

Verfasst: 3. Jan 2010, 12:54
von angel618
Leider über die Forum suche nicht gefunden aber über google ...

Lösung für das Problem: http://forum.redaxo.org/sutra62437.html

Danke

Lösung - geht nicht wenn...

Verfasst: 4. Jan 2010, 17:42
von angel618
Also die im Post zuvor eingetragene Lösung funktioniert nur wenn man nur 1ne Möglichkeit verwendet ... also nur eine Email versendet z.B.

sobald man z.B. noch eine Bestätigungsmail und einen DB Eintrag gleichzeitig macht haut das leider nicht mehr hin.

Bin noch am ausprobieren wo es hängt , bisher noch keine Lösung ...

Verfasst: 4. Jan 2010, 18:27
von Jan.Kristinus
Hi,

ich weiss in diesem Fall nicht die Lösung, aber die XForm selbst, sendet nicht zweimal... Aber.. Es kann sein, dass das Formular zweimal ausgeführt wird. z.B. wenn man

REX_ARTICLE[] zweilmal im Template hat und eben den PHP Code dazu.. z.B.

$content = $this->getArticle();

Das führt beides dazu, dass der PHP Code und damit das Formular ausgeführt wird und eventuell dann eben zweimal. Vielleicht ist es ja das schon ?

lg

jn

Was soll ich sagen ...

Verfasst: 4. Jan 2010, 20:43
von angel618
... ja Du hast recht das wars schon !

1x $this->getArticle() entfernt und es läuft ...

THX


P.S.
Aber was mach ich wenn ich doch mal mehr $this->getArticle() oder REX_ARTICLE[] verwende ?

Verfasst: 5. Jan 2010, 00:28
von Jan.Kristinus
Hi,

Du musst es nicht mehrmals verwenden, da Du die Daten dann ja schon hast.. z.B. einfach die Ausgabe speichern und 2mal ausgeben oder ähnlich . und ich bezweifle das es wirklich nötig ist. Aber ich lasse mich gerne belehren ;) ...

lg

jn

Verfasst: 5. Jan 2010, 00:37
von angel618
... :idea: wohl ein Verständnis Problem sorry,

ich dachte erst grundsätzlich wenn ich allgemein REX_ARTICLE[] 2 oder 3 mal verwende.

Du meintest aber ehr wenn ich z.B. REX_ARTICLE[1] doppelt verwende !
Klar warum auch 2 mal die Daten laden...

Jetzt hab ichs :-)

Danke

Re: xForm sendet alles doppelt

Verfasst: 12. Feb 2013, 13:10
von herr_pittibrini
Hallo, habe dasselbe Problem mit xForm und die Mail an den Empfänger wird doppelt versendet. Der Link in der 1. Antwort oben funktioniert nicht mehr und aus den anderen Antworten werde ich nicht schlau. In welcher Datei steht was doppelt, was ich dann entfernen soll, damit die Mail nur einmal versendet wird?

In class.xform.article.inc.php kommt einmal vor:
$artikel = new rex_article;
$artikel->setArticleId($this->elements[1]);
$form_output[] = '<div class="article">' . $artikel->getArticle() . '</div>';

Das war es dann aber auch an getArticle im Ordner xform.

Vielleicht weiß jemand mehr. Vielen Dank!!

Re: xForm sendet alles doppelt

Verfasst: 12. Feb 2013, 13:20
von herr_pittibrini
Ah, okay ich hab in einem anderen Thread die Lösung gefunden. Das musste gar nicht in einer xform-Datei geändert werden, sondern steht auf jeder Seite im Template content.php mit drin. Hab den betreffenden Teil ersetzt durch:

Code: Alles auswählen

       <?php
                 
                $content = $this->getArticle();
                    
                if ($content != ''){
                        echo $content;               
                }else{               
                        echo '<h1>Entschuldigen Sie bitte...</h1>';            
            echo '<p>Diese Seite befindet sich derzeit noch im Aufbau. Wir bitten noch um etwas Geduld.</p>';
            echo '<p>mit freundlichen Grüssen<br>Ihre Team von Firma xy</p>';            
                }
        ?>
Jetzt passt es und die Mail wird nur einmal versendet. Bin eben kein php-Programmierer, der sich da einen Reim draus machen kann.

Re: xForm sendet alles doppelt

Verfasst: 12. Feb 2013, 13:23
von Thomas.Blum
Hej,

es geht nicht direkt um Anpassungen der xform sondern in deinem Template.

Wenn du dort REX_ARTICLE[] oder $this->getArticle() mehrmals schreibst, dann wird der PHP Code und demzufolge auch das Formular mehrfach ausgegeben.

vg Thomas

Re: xForm sendet alles doppelt

Verfasst: 7. Mai 2013, 10:34
von gege
Hallo zusammen,

ich habe auch das Problem, dass mein Formular doppelt verschickt wird.
Ich befürchte das es an folgendem Code liegt.

Code: Alles auswählen

<?php if ($this->getArticle(2) != ''): ?>    
            <section>
                <div class="content">
                    REX_ARTICLE[ctype=2]
                </div>
            </section> 
        <?php endif; ?>
Kann es sein, dass das Formular bei der if schon das erste mal gefeuert wird?
Wenn ja wie überprüfe ich dann meine Ausgabe?

Gruß Gege

Wie schlecht von mir, habe die Lösung selbst gefunden:
Einfach die Abfrage in der if zuvor in eine Variable schreiben, diese prüfen und dann bei bedarf ausgeben.

Man man man, war das blind...

Re: xForm sendet alles doppelt

Verfasst: 7. Mai 2013, 10:49
von Jan.Kristinus
;) .. keine Sorge, ich glaube das ist jedem hier schonmal passiert. Mir auch mehrmals :)

lg

Jan