Guten Tag allerseits
Ich brauche zusatzinformationen zu einem Newsletter-Abonnementen und habe mich, nach dem Durforsten des Forums entschieden, es mit einem Hook auf einem Formular zu machen und habe mich an das vorgehen aus dem Thread <Newsletterversand aus Formular aktivieren> gehängt.
Leider bekomme ich nach dem Absenden einen <Invalid request token!> zurück und habe keine Ahnung, wo da das Problem liegen könnte...
Hier, was ich gemacht habe:
- In /system/modules einen neuen Ordner angelegt
-> darin config/config.php und NewsletterFinnova.php erstellt.
Hier die Files die ich erstellt habe:
PHP-Code:
// system/modules/newsletter_finnova/config/config.php
if (!defined('TL_ROOT')) die('You can not access this file directly!');
$GLOBALS['TL_HOOKS']['processFormData'][] = array('NewsletterFinnova', 'processFormData');
PHP-Code:
// system/modules/newsletter_finnova/NewsletterFinnova.php
class NewsletterFinnova extends Frontend
{
public function processFormData($arrPost, $arrForm, $arrFiles)
{
if($arrForm['id'] == 1) {
$subscribe = false;
if($arrPost['newsletter'] == "ja") {
/*ECHO*/ print_r($arrPost);
$subscribe = true;
$PostData = array('email'=>$arrPost['email'], 'FORM_SUBMIT'=>'tl_subscribe','channels[]'=>'1');
$ch = curl_init("http://{$_SERVER['HTTP_HOST']}/newsletter-anmelden-formular.html");
}
}
//subscribe?
if($subscribe) {
$Post = http_build_query($PostData);
curl_setopt ($ch, CURLOPT_HEADER, 0 );
curl_setopt ($ch, CURLOPT_REFERER, "http://{$_SERVER['HTTP_HOST']}/newsletter-anmelden-ok.html");
curl_setopt ($ch, CURLOPT_POSTFIELDS, $Post);
curl_setopt ($ch,CURLOPT_POST,TRUE);
curl_setopt ($ch,CURLOPT_HTTPGET,FALSE);
$data = curl_exec( $ch );
curl_close ($ch);
}
}
}
Hier die Testumgebung:
http://contao.humandigital.ch/newsletter-anmelden.html
-> Formular mit Hiddenfield name="newsletter" value="ja"
... Inhalt des Formular wird per E-Mail versendet
... Eintrag zu den Abonnementen wird nicht ausgeführt :-(
... Fehlerseite <Invalid request token!> wird angezeigt :-(
http://contao.humandigital.ch/newsle...-formular.html
-> Anmeldeformular für Newsletter
... Funktioniert korrekt, erzeugt Bestätigungsmail, eintrag in die Abonnenten-Liste und leitet auf die OK-Seite weiter
http://contao.humandigital.ch/newsle...melden-ok.html
-> OK-Seite mit Hinweis auf das Bestätigungsmail
Die Einzelteile funktionieren wie gewünscht, am Zusammenspiel happert es leider noch :-(
Über Hinweise bin ich sehr dankbar :-)
Morgengruss
Christoph
Lesezeichen