[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Community: Formbuilder Update Tabelle - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
JonasLoerken
Beiträge: 70
Registriert: 13. Feb 2015, 23:22

Community: Formbuilder Update Tabelle

21. Okt 2015, 12:07

Hey,
ich kriege es einfach nicht gebacken, dass der XForm Formbuilder nach dem Login (mit der Hilfe des Community Updates) einen Datensatz ich der Tabelle speichert bzw. überschreibt. Es geht darum, dass wenn ich im Backend einen neuen Nutzer anlege, dass dieser in dem Standardtabelle "rex_com_user" einen "firstlogin = 0" erhält. Wenn sich der nutzer nun einloggt bekommt das entsprechende Tabellenfeld eine "1" zugewiesen, damit ich z.B. auslesen kann, ob sich der Nutzer schon einmal angemeldet hat. Dies funtkioniert aber nicht.

Ich habe schon etliche Varianten durchprobiert:

Code: Alles auswählen

com_auth_form_info|label alert-box success radius||Sie haben sich erfolgreich abgemeldet.||Sie haben sich erfolgreich angemeldet.|
com_auth_form_info|label alert-box alert radius||| Ihr Passwort oder Benutzername ist falsch.|

com_auth_form_login|label|Benutzername:
com_auth_form_password|label|Passwort:|test
com_auth_form_stayactive|auth|eingeloggt bleiben:|0

action|db_query|UPDATE rex_com_user SET logins=1 WHERE login = 'headline'|Datenbank Fehler!
Wo liegt der Fehler? Aus der Community Demo werde ich leider nicht schlau, da dort die einzige Action z.B.

Code: Alles auswählen

action|com_auth_db
darstellt.

Viele Grüße!

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: Community: Formbuilder Update Tabelle

22. Okt 2015, 09:07

Hej,

deine Action greift nicht, da beim abschicken des Formulars die Authentifizierung bereits stattfindet und zu einem anderen Artikel weitergeleitet wirst.

Das ist der Part der die Datei[1] inkludiert und das Login überprüft[2].

[1] https://github.com/yakamara/redaxo_comm ... hp#L60-L65
[2] https://github.com/yakamara/redaxo_comm ... c/auth.php

vg Thomas

JonasLoerken
Beiträge: 70
Registriert: 13. Feb 2015, 23:22

Re: Community: Formbuilder Update Tabelle

23. Okt 2015, 16:01

Danke für deine Antwort, Thomas! Hat mir sehr geholfen.

Ich habe aus Testzwecken einen Mailversand bei einem erfolgreichen Login eingerichtet.

Code: Alles auswählen

if ($login_status == 2) {
  if ($referer) {
      
      $redirect = urldecode($referer);
      
  } else { 
      
      $recipient = "jonas.loerken@gmail.com";
        $name = "Max Mustermann";
        $email = "mustermann@gmail.com";

        // Set the email subject.
        $subject = '=?UTF-8?B?'.base64_encode("testversand").'?=';

        // Build the email content.
        $email_content .= "testversand";

        // Build the email headers.
        $email_headers = "From: $name <$email>\n";
        $email_headers .= "Content-type: text/html; charset='UTF-8'";

        // Send the email.
        if (mail($recipient, $subject, $email_content, $email_headers)) {
            // Set a 200 (okay) response code.
            header("HTTP/1.1 200 Ok");
        } else {
            // Set a 500 (internal server error) response code.
            header("HTTP/1.1 500 No Record Found");
        }
    
      
      $redirect = rex_getUrl($REX['ADDON']['community']['plugin_auth']['article_login_ok']);
  }
}
Leider wird die Mail doppelt versendet. In der auth.php und in der config ist keine Schleife zu finden. Habe ich was übersehehen oder warum wird die Mail doppelt versendet?
Zuletzt geändert von JonasLoerken am 26. Okt 2015, 10:18, insgesamt 1-mal geändert.

JonasLoerken
Beiträge: 70
Registriert: 13. Feb 2015, 23:22

Re: Community: Formbuilder Update Tabelle

26. Okt 2015, 10:17

Das Problem konnte ich beheben, habe den Mailversand einfach dem Redirect untergeordnet bzw. einfach die Reihenfolge des Codes geändert.

Leider wird bei

Code: Alles auswählen

if ($login_status == 4) {
    $recipient = "jonas.loerken@gmail.com";
        $name = "Mustermann";
        $email = "mustermann@gmail.com";

        // Set the email subject.
        $subject = '=?UTF-8?B?'.base64_encode("testversand").'?=';

        // Build the email content.
        $email_content .= "failed";

        // Build the email headers.
        $email_headers = "From: $name <$email>\n";
        $email_headers .= "Content-type: text/html; charset='UTF-8'";

        // Send the email.
        if (mail($recipient, $subject, $email_content, $email_headers)) {
            // Set a 200 (okay) response code.
            header("HTTP/1.1 200 Ok");
        } else {
            // Set a 500 (internal server error) response code.
            header("HTTP/1.1 500 No Record Found");
        }
}
auch eine Mail versendet, wenn sich der Nutzer auslogged. Status 4 bedeutet doch eigentlich "login failed", also warum wird der Code auch ausgeführt, wenn sich der Nutzer auslogged? :?:

Zurück zu „Allgemeines [R4]“