Double-Opt-In Bestätigung funktioniert nicht

Fragen zum Erstellen von Templates für webEdition.
yesiamfunky
Junior Member
Beiträge: 10
Registriert: Mi 16. Jun 2010, 10:16

Double-Opt-In Bestätigung funktioniert nicht

Beitragvon yesiamfunky » Di 9. Okt 2012, 15:52

Hi,

ich stehe momentan vor einem Problem mit dem Double-Opt-In Newsletterformular in WebEdition 6.3.3.0. Ich habe das Formular schon mehrfach eingesetzt und es hat immer funktioniert. Nun funktioniert es auf einmal nicht mehr. Der Aufbau ist folgender:
Ich habe eine Formularseite (form.html) mit folgendem Code-Inhalt

Code: Alles auswählen

<we:form id="110" method="post">
    <we:subscribe type="salutation" values="Herr,Frau"/> 
    <we:subscribe type="firstname" />
    <we:subscribe type="lastname" />
    <we:subscribe type="email" value="mail"/>
    <we:subscribe type="htmlCheckbox" checked="true" />
    <input type="submit" value="Newsletter bestellen" id="submit" name="submit" />
</we:form>
id 110 ist eine Bestätigungsseite (bestaetigung.php) mit unter Anderem folgendem Inhalt:

Code: Alles auswählen

<we:addDelNewsletterEmail type="csv" path="/newsletter/newsletter.csv" doubleoptin="true" expiredoubleoptin="1440" mailid="108" subject="Newsletter" from="kundenemail@kundenserver.de" id="109" />
<we:ifEmailInvalid>
	<p><we:textarea wysiwyg="true" name="invalid" commands="applystyle,bold,copy,copypaste,editsource,italic,insertunorderedlist,link,list,paste,redo,underline,undo,unlink" inlineedit="true" classes="hint" /></p>
</we:ifEmailInvalid>
<we:ifEmailExists>
  	<p><we:textarea wysiwyg="true" name="exist" commands="applystyle,bold,copy,copypaste,editsource,italic,insertunorderedlist,link,list,paste,redo,underline,undo,unlink" inlineedit="true" classes="hint" /></p>
</we:ifEmailExists>    
<we:ifSubscribe>
  	<we:ifDoubleOptIn>
      	<p><we:textarea wysiwyg="true" name="success" commands="applystyle,bold,copy,copypaste,editsource,italic,insertunorderedlist,link,list,paste,redo,underline,undo,unlink" inlineedit="true" classes="hint" /></p>
  	</we:ifDoubleOptIn>
</we:ifSubscribe>
id 108 ist die Mail (mail.html), welche den Link:

Code: Alles auswählen

<we:newsletterConfirmLink>Newsletter bestätigen</we:newsletterConfirmLink>
für HTML und:

Code: Alles auswählen

<we:newsletterConfirmLink plain="true">Newsletter bestätigen</we:newsletterConfirmLink>
für Plain enthält.

id 109 ist die Mailbestätigungsseite (mailbestaetigung.php) mit unter Anderem folgendem Inhalt:

Code: Alles auswählen

<we:addDelNewsletterEmail type="csv" path="/newsletter/newsletter.csv" doubleoptin="true" />
<we:ifSubscribe>
    <p><we:textarea wysiwyg="true" name="register_success" commands="applystyle,bold,copy,copypaste,editsource,italic,insertunorderedlist,link,list,paste,redo,underline,undo,unlink" inlineedit="true" classes="hint" /></p>
</we:ifSubscribe>
<we:ifNotSubscribe>
    <p><we:textarea wysiwyg="true" name="register_error" commands="applystyle,bold,copy,copypaste,editsource,italic,insertunorderedlist,link,list,paste,redo,underline,undo,unlink" inlineedit="true" classes="hint" /></p>
</we:ifNotSubscribe >
Problem: Wenn ich mich über das Formular anmelde komme ich auf die Bestätigungsseite (bestaetigung.php) und dort wird mir die success Nachricht angezeigt. Daraufhin bekomme ich auch die Email mit dem Link geschickt. Klicke ich diesen zur bestätigung komme ich auf die Mailbestätigungsseite (mailbestaetigung.php). Hier wird mir immer ein Fehler angezeigt (Also der Text innerhalb <we:ifNotSubscribe>).

"mailbestaetigung.php" und "bestaetigung.php" werden dynamisch erzeugt.
Die Verzeichnisse haben alle die Berechtigung beschrieben zu werden.
Der Ordner "/newsletter" existiert und hat ebenfalls diese Berechtigung.
Die csv existiert noch nicht, wird aber meines Wissens nach von webEdition erstellt bei der ersten Anmeldung. (Alternativ habe ich es auch mit einer eigens erstellten csv probiert, welche ich hochgeladen habe. Geht auch nicht.)

Ich bin so langsam am Ende meiner Ideen und befürchte, dass ich nur irgendwo etwas übersehen habe.
Wenn also jemand die Zeit findet und einmal kurz darüber schaut und ne Idee hat wär ich echt dankbar.

Viele Grüße

Pixeljockey
Member
Beiträge: 47
Registriert: Mo 7. Aug 2006, 14:46

Re: Double-Opt-In Bestätigung funktioniert nicht

Beitragvon Pixeljockey » Mi 10. Okt 2012, 17:52

Hi,

ich habe aktuell bei einer Newsletteranmeldung beobachtet (allerdings type="customer"), dass ich auf Eintragungsseite immer dann in die ifNotSubscribe-Schleife komme, wenn ich den Bestätigungslink nicht in dem Browser geöffnet habe, von dem aus ich die Anmeldung angestoßen habe (im Mailprogramm noch Standardbrowser eingestellt). Ich bin dem jetzt noch nicht genauer nachgegangen, aber wer weiß...

Des Weiteren hatte ich mit den CSV-Dateien auch immer Probleme (damals zu 3er, 4er Zeiten). Mit der 6er hab ich die CSV jetzt gar nicht erst probiert und direkt die Kundenverwaltung genommen. Früher war's immer so, dass die CSV eben nicht über webEdition erzeugt werden durfte, sondern manuell und dann hochgeladen werden musste. Ich kann allerdings nicht genau sagen ob das immer noch so ist, steht jetzt auch nirgendwo so wirklich eindeutig. Vielleicht bringt dich das ja weiter.

Gruß,

Micha

yesiamfunky
Junior Member
Beiträge: 10
Registriert: Mi 16. Jun 2010, 10:16

Re: Double-Opt-In Bestätigung funktioniert nicht

Beitragvon yesiamfunky » Mi 10. Okt 2012, 18:49

Hi Micha,

ersteinmal vielen Dank für deine Antwort. Nachdem ich die anderen zwei Punkte versucht habe (Gleicher Browser und eigene CSV) hab ich das Ganze nun auch auf type="customer" umgestellt. Das funktioniert soweit alles prima. Allerdings funktioniert <we:ifEmailExists> und <we:ifEmailInvalid> bei type="customer" nicht, oder? Zumindest bei mir nicht. Ich habe nun schon mit <we:ifcustomerexists> gearbeitet. Dadurch zeigt es dann auch meine "Sie sind bereits im System" Nachricht an, hält webEdition aber leider nicht davon ab, die Bestätigungsmail zu verschicken. Wie hast du das bei dir denn aufgebaut?

Momentaner Stand in der auf das Formular folgenden Seite:

Code: Alles auswählen

    <we:addDelNewsletterEmail type="customer" doubleoptin="true" expiredoubleoptin="1440" mailid="108" subject="Newsletter" from="####" id="109" />
    
      <we:ifcustomerexists>
        <p>Sie sind schon im System registriert</p>
      </we:ifcustomerexists>  
      <we:ifSubscribe>
        <we:ifDoubleOptIn>
            <p>Vielen Dank, Sie haben eine Bestätigungsmail erhalten.</p>
        </we:ifDoubleOptIn>
      </we:ifSubscribe>
Und noch eine kurze Frage: So etwas wie required bei formmail gibt es bei we:form für Newsleter nicht, oder? Muss man wohl selbst über php lösen?

Danke und Gruß,
Philip

Pixeljockey
Member
Beiträge: 47
Registriert: Mo 7. Aug 2006, 14:46

Re: Double-Opt-In Bestätigung funktioniert nicht

Beitragvon Pixeljockey » Do 11. Okt 2012, 11:33

Hi Philip,

ich habe beim Umbau auf type="customer" festgestellt, dass in der Kundenverwaltung der Bereich "Kontakt" mit dem Feld "Email" fehlt. Nachdem ich den angelegt habe, ging's problemlos. Finde ich auch eigentlich die schönere Lösung als die offene csv mit allen Kundenemails.

Gruß,

Micha

Pixeljockey
Member
Beiträge: 47
Registriert: Mo 7. Aug 2006, 14:46

Re: Double-Opt-In Bestätigung funktioniert nicht

Beitragvon Pixeljockey » Do 11. Okt 2012, 11:40

Ach, habe deine zweite Frage überlesen. Also die Standardfelder könntest du sicher auch über

Code: Alles auswählen

<we:ifNewsletterSalutationEmpty type="salutation|title|firstname|lastname"> ... </we:ifNewsletterSalutationEmpty>
in deiner Schleife

Code: Alles auswählen

<we:ifEmail...> ... </we:ifEmail>
prüfen. Hab's jetzt nicht extra probiert, weil ich außer der Email keine Pflichtfelder habe, aber ich denke das sollte gehen.

Gruß,

Micha

yesiamfunky
Junior Member
Beiträge: 10
Registriert: Mi 16. Jun 2010, 10:16

Re: Double-Opt-In Bestätigung funktioniert nicht

Beitragvon yesiamfunky » Do 11. Okt 2012, 15:26

Hallo Micha,

danke ich habe das Feld "Email" und den reiter "Kontakt" im Kundenmodul erzeugt und im Newslettermodul das entsprechende Feld zur Emailprüfung eingestellt. Dann funktioniert alles.

<we:ifNewsletterSalutationEmpty type="salutation|title|firstname|lastname"> funktioniert leider nicht.
Zumindest führt mein Code:

Code: Alles auswählen

 <we:ifNewsletterSalutationNotEmpty type="firstname"><we:addDelNewsletterEmail type="customer" doubleoptin="true" expiredoubleoptin="1440" mailid="108" subject="Newsletter" from="###" id="109" /></we:ifNewsletterSalutationNotEmpty>

      <we:ifEmailExists>
        <p>Existiert bereits</p>
      </we:ifEmailExists>

     <we:ifNewsletterSalutationEmpty type="firstname">Bitte Vorname eingeben!</we:ifNewsletterSalutationEmpty>

     <we:ifNewsletterSalutationNotEmpty type="firstname">
      <we:ifSubscribe>
        <we:ifDoubleOptIn>
            <p>Aufgenommen</p>
        </we:ifDoubleOptIn>
      </we:ifSubscribe>
    </we:ifNewsletterSalutationNotEmpty>
immer zu dem Ergebnis, dass kein Vorname eingetragen ist.
Ich werde wohl an eigenem PHP nicht vorbei kommen.

Danke für die Hilfe,
Philip


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 33 Gäste