Ergebnis 1 bis 5 von 5

Thema: tl_newsletter_recipients

  1. #1
    Contao-Nutzer
    Registriert seit
    06.12.2010.
    Beiträge
    39

    Standard tl_newsletter_recipients

    Hi,

    ich bekomme momentan nach testweisem Ausfüllen eine Formulars mit Newsletteranmeldung folgende Fehlermeldung:


    Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-Mail, Telefon, Nachricht, Newsletter) VALUES (1426973054, 'Me', 'mail@meine-mai' at line 1 (INSERT INTO tl_newsletter_recipients (tstamp, Name, E-Mail, Telefon, Nachricht, Newsletter) VALUES (1426973054, 'Me', 'mail@meine-mail.de', '012345679', 'Hallo', 'Newsletter')) thrown in system/modules/core/library/Contao/Database/Statement.php on line 297

    #0 system/modules/core/library/Contao/Database/Statement.php(266): Contao\Database\Statement->query()
    #1 system/modules/core/forms/Form.php(478): Contao\Database\Statement->execute()
    #2 system/modules/core/forms/Form.php(230): Contao\Form->processFormData(Array, Array)
    #3 system/modules/core/classes/Hybrid.php(228): Contao\Form->compile()
    #4 system/modules/core/forms/Form.php(68): Contao\Hybrid->generate()
    #5 system/modules/core/library/Contao/Controller.php(473): Contao\Form->generate()
    #6 system/modules/core/modules/ModuleArticle.php(196): Contao\Controller::getContentElement(Object(Contao \ContentModel), 'main')
    #7 system/modules/core/modules/Module.php(163): Contao\ModuleArticle->compile()
    #8 system/modules/core/modules/ModuleArticle.php(59): Contao\Module->generate()
    #9 system/modules/core/library/Contao/Controller.php(409): Contao\ModuleArticle->generate(false)
    #10 system/modules/core/library/Contao/Controller.php(273): Contao\Controller::getArticle(Object(Contao\Articl eModel), true, false, 'main')
    #11 system/modules/core/pages/PageRegular.php(138): Contao\Controller::getFrontendModule('0', 'main')
    #12 system/modules/core/controllers/FrontendIndex.php(253): Contao\PageRegular->generate(Object(Contao\PageModel), true)
    #13 index.php(22): Contao\FrontendIndex->run()
    #14 {main}

    Ich muss manuell in der Datenbank Felder anlegen, soviel weiß ich. Doch wie müssen die konfiguriert sein, damit es funktionert? Die ersten eigenen Versuche waren erfolglos.

    VG

    Michael

  2. #2
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Hallo Michael,

    normalerweise musst du bei Contao nie selbst irgendwelche Felder in der DB anlegen. Das wird automatisch durch die Module im DCA erledigt.

    Verwendest du den normalen Newsletter und das entsprechende Modul für's an-/abmelden? Es sieht beinahe so aus, als hättest du dafür ein eigenes Formular angelegt...

    Komisch in deinem Ausschnitt aus dem Log ist, dass da aus irgendeinem Grund ein falscher Name für das DB-Feld 'email' verwendet wird. Der Code versucht, ein Feld 'E-Mail' zu beschreiben. Ich bin mir gerade unsicher, ob das überhaupt ein erlaubter Name in SQL wäre (wegen des Minuszeichens). Jedenfalls heißt das Feld definitiv 'email'.

    Ansonsten:
    Prüf bitte mal, ob deine DB aktuell ist. Dazu gehst du im Backend zur Erweiterungsverwaltung und klickst oben auf 'Datenbank aktualisieren'.
    Ansonsten wäre natürlich interessant, welche Contao-Version du verwendest.

    Gruß, folkfreund

  3. #3
    Contao-Nutzer
    Registriert seit
    06.12.2010.
    Beiträge
    39

    Standard

    Hallo folkfreund,

    eine Datenbankaktualisierung hat tatsächlich hervorgebracht, dass "email" gefehlt hat. Doch scheinbar nur in der tl_form_field und nicht in der tl_newsletter_recipients, in der ich ja alle Formulardaten gespeichert haben möchte. Ich habe irgendwo in einem Blog gelesen, man müsse das manuell machen.
    Contao läuft bei diesem Projekt derzeit auf 3.4.0

    Das Formular ist normal über den Formulargenerator gebaut. Ich verwende außerdem den Rocksolid-Spamschutz.

    VG
    Michael

  4. #4
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Du solltest vielleicht lieber den 'offiziellen' Weg gehen: leg dir 2 Module aus dem Bereich 'Newsletter' an: 'Abonnieren' und 'Kündigen'. Die sollten das alles korrekt erledigen, inkl. Double Opt-In etc.

    Wenn du dir die Datenstruktur in der DB anschaust, dann siehst du, dass dort auch zusätzliche Daten (z.B. addedOn und confirmed) erfasst werden.

    Gruß, folkfreund

  5. #5
    Contao-Nutzer
    Registriert seit
    06.12.2010.
    Beiträge
    39

    Standard

    Gibt es denn keine Möglichkeit, "Newsletter abonnieren" in ein bestehendes Formular zu integrieren?

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •