[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • X-Form / Community Addon / Passwort vergessen sendet doppelt
Seite 1 von 1

X-Form / Community Addon / Passwort vergessen sendet doppelt

Verfasst: 3. Jun 2010, 19:00
von Aemilia
Hey ihr lieben...

ich verzweifel gerade... Habe das Community-Addon installiert und X-Form. Alles funktioniert astrein und macht wirklich Spaß, doch... Das Formular für "Passwort vergessen" (http://wiki.redaxo.de/index.php?n=R4.CommunityAddOn) sendet die Email doppelt.....


Formular:

text|login|Login:
captcha|Bitte geben Sie diese Buchstabenfolge hier ein:|Die Kontrollbuchstaben waren falsch
validate|notEmpty|login|Bitte geben Sie ein Login ein
validate|existintable|login|rex_com_user|login|Dieses Login existiert nicht.
action|readtable|rex_com_user|login|login
action|db2email|send_password|email

Zusatz:
<?php
$xform->setObjectparams("main_where",'login="###login###"');
?>

(Tabelle rex_com_user ist ausgewählt, sonst nichts)

ich habe sowohl das Email-Template, als auch jede einzelne Zeile der Formulareingabe überprüft und alle möglichen Varianten ausgewählt und abgewählt... mal nur auf Email anstatt login gestellt und un dund... aber es sendet immernoch doppelt....

bitte helft mir.... :roll:

p.s.: die anderen Formulare funktionieren völlig normal und wie erwartet... alles tip top... nur bei dem nich....

Verfasst: 8. Jun 2010, 10:40
von Aemilia
sendet immernoch doppelt.... das xform template habe ich nun auch schon gelöscht und neu erstellt.... finde den fehler nich....

Verfasst: 8. Jun 2010, 11:28
von Aemilia
mhh... jetzt sendet auch ein anderes, neu erstelltes Formular doppelt... habe die addons neu installiert... aber es ändert sich nix....

Verfasst: 8. Jun 2010, 11:39
von Jan.Kristinus
hi,

meistens liegt bei doppeltem inhalt oder funktionsausführung das problem darin, dass der artikel zweimal aufgerufen wird. z.B. Du zweimaligem aufruf innerhalb des templates oder ähnlichem.

lg

jn

Verfasst: 8. Jun 2010, 11:50
von Aemilia
danke für deine antwort!

ich schau mal...

Verfasst: 8. Jun 2010, 12:01
von Aemilia
also irgendwie ist da der wurm drin....

ich habe mein formular nochmal überprüft, kann nix finden... habe was mit ctypes gelesen und ein template ohne spalten angelegt... dann kam die mail 6fach.... kommt sie jetzt auch noch, obwohl ich es wieder umgestellt habe...

2 von den 6 mails sind korrekt, die anderen sind fehlerhaft.


mein email-senden-php sieht so aus (bei dem einen, das andere formular ist mit dem xform modul erstellt.)

Code: Alles auswählen


$adresse = "mail@mail.de";
$betreff = "Betreff";
$inhalt = "text";
$header = "Content-Type:text/html\r\n";
$header .= "From: mir@ich.de\r\n";
@mail($adresse,$betreff,$inhalt,$header);

siehst du da einen fehler? ich bin schon blind.....
kannst du mir noch n anderen hint geben wo ich suchen kann?

Verfasst: 8. Jun 2010, 12:17
von Jan.Kristinus
hi,

daran liegts nicht. Der Versand selbst wird wahrscheinlich passen. Nur wenn Aufrufe wie solche

REX_ARTICLE[]

<?php echo $this->getArticle(); ?>

mehrfach vorkommen. Dann wird der Artikel ausgeführt.

Es kann auch sein, dass bei der Navigation der Inhalt ausgelesen wird und dann die E-Mail verschickt wird. .. Alles ist möglich ;) ..

lg

jn

Verfasst: 8. Jun 2010, 12:21
von Aemilia
also das grundtemplate sieht so aus:

REX_TEMPLATE[12]
REX_TEMPLATE[3]
REX_TEMPLATE[4]
REX_TEMPLATE[7]
REX_TEMPLATE[5]
REX_TEMPLATE[8]

:-)

innerhalb der verknüpften templates stehen dann natürlich $this->getArticle(1) & $this->getArticle(2)... aber immer mit zahl hinnedrin.

und beschränke ich mich auf die eine spalte und ein getArticle(1), dann schickts trotzdem mehrfach.. leere getArticles hab ich nüsch....

Verfasst: 11. Okt 2010, 16:14
von Aemilia
hab mal n Kumpel drüberschauen lasen. Es scheint an X Form zu liegen. ich soll das updaten, ABER ich finde nirgendwo die Version 1.5 (Ich hab aktuell die 1.4.1) und die für Rex 3 funzt nicht, bzw. macht mir nur noch mehr fehler...

hat jemand n link für mich?

danke!

Verfasst: 23. Nov 2010, 13:47
von Aemilia
bin immernoch am verzweifeln.... also alle mails werden zweimal gesendet und die sonderzeichen werden auch falsch dargestellt. Die Version 1.5 gibts anscheind nich und ich weiß nich weiter.....

hat keiner ne idee?

Verfasst: 23. Nov 2010, 14:20
von Aemilia
ok... thema sonderzeichen: im phpmailer stands falsch drin... habs da tausendmal umgeändert und wieder anders iund nochmal... und da hab ich wohl vergessen / übersehen, dass da noch der falsche charset drin steht... das problem mit den doppelten mails bleibt allerdings leider... :-(

Verfasst: 23. Nov 2010, 16:46
von Gregor.Harlan
Angenommen das Formularmodul ist in Spalte 1, kommt wirklich insgesamt nur einmal $this->getArticle(1) in deinen Templates vor?

Verfasst: 23. Nov 2010, 17:02
von Aemilia
hi,

ich habe im content eine if-abfrage. wenn nav3 == leer ist, dann wird das div copy mit dem $this->getArticle(1) ausgegeben, wenn nicht, dann wird neben dem copy-div noch ein weiteres div ausgegeben. das ist aber dann die nav 3... hat also nix mit dem content zu tun....

würde das copy-div zweimal ausgegeben werden, und somit auch der ausdruck $this->getArticle(1), dann würde es ja auch zweimal im quellcode stehen.... tuts aber nich. :-(

die inhalte werden alle nur einmal ausgegeben....

Verfasst: 23. Nov 2010, 17:21
von Gregor.Harlan
Mal ein Beispiel:

Code: Alles auswählen

<?php

if ($this->getArticle(1) != '')
  echo $this->getArticle(1);

?>
Hier wird zwei mal $this->getArticle(1) aufgerufen, trotzdem wird der Inhalt nur einmal ausgegeben. Mails würden aber doppelt versendet!
Wie oft der Artikelinhalt also im Quelltext auftaucht, spielt keine Rolle, sondern wie oft $this->getArticle(1) ausgeführt wird.

Verfasst: 23. Nov 2010, 17:23
von Aemilia
aha... das könnte n thema sein.... wie kann ich das umgehen?

Verfasst: 23. Nov 2010, 17:41
von Gregor.Harlan
Indem du den Inhalt in einer Variable speicherst, und dann nur noch damit arbeitest.

Mein Beispiel oben sähe dann zum Beispiel so aus:

Code: Alles auswählen

<?php

$content = $this->getArticle(1);
if ($content != '')
  echo $content;

?>

Verfasst: 23. Nov 2010, 17:50
von Aemilia
logisch eigentlich.... sry...