Benutzerprofilfeld ausfüllen erzwingen: User bleiben bei weißer Seite und einem Umleitungsfehler hängen

  • Ich habe das PlugIn erst mit der DSGVO Umsetzung installiert. und da kommt wohl bei einigen User ein Umleitungsfehler.


    Die Seite ist weiß, sie stehen in ihrem Profil was zu bearbeiten wäre und auf der Seite steht.


    Die aufgerufene Webseite leitet die Anfrage so um, dass sie nie beendet werden kann. Dieses Problem tritt manchmal auf, wenn Cookies deaktiviert oder abgelehnt werden.


    Cookies wurden gelöscht und akzeptiert, aber es bleibt bei der Meldung. Die Userin nutzt Windows 10 und hat es mit Firefox und Internet Explorer versucht. Ich nutze selber auch Windows 10 und FF und hatte keine Probleme.

    Viele Grüße

    Luisa

  • Das ist egal. Beide Plugins versuchen, auf eine Seite weiter zu leiten und kommen sich gegenseitig in die Quere.

  • Hach, das ist ja Mist. Einige Leute raffen das einfach nicht, dass sie in ihr Profil gehen sollen und den Haken setzen. Die tragen ihr Geburtsdatum ein und lassen den Haken weg <X. Und jetzt alles auf die neuen Nutzungsbedingungen mit Mindestalter umstellen wäre blöd, weil dann alle, die extra da waren um das zu machen, nochmal rein kommen müssen. Ich bekomme die Haken ja nun schlecht übertragen.

    Viele Grüße

    Luisa

  • Doch, theoretisch schon:


    WCF 2.1: UPDATE wcf1_user SET disclaimerAccepted = 1 WHERE userID IN (SELECT userID FROM wcf1_user_option_value WHERE userOptionX = 1)

    WSC 3.x: UPDATE wcf1_user SET disclaimerAccepted = 1, disclaimerAcceptedAt = UNIX_TIMESTAMP() WHERE userID IN (SELECT userID FROM wcf1_user_option_value WHERE userOptionX = 1)


    Wobei das X durch die ID der Checkbox zu ersetzen ist.


    Vorzugsweise vorher ein Backup von der User-Tabelle machen.

  • Nein, das klappt so nicht fürs WCF2.1, denn da steht der Text in dem Feld, nicht eine 0 oder 1, wie man das bei einer Checkbox eigentlich erwarten würde. Daher kann man das Feld auch über die Datenbank ganz schlecht abfragen. Vielleicht ginge es mit:


    UPDATE wcf1_user SET disclaimerAccepted = 1 WHERE userID IN (SELECT userID FROM wcf1_user_option_value WHERE userOptionX != '')


    Aber es geht bei mir trotzdem nicht, da nicht alle, die die Nutzungsbestimmungen schon akzeptiert haben, das Mindestalter bestätigt haben. Denn auf dieses Plugin hatte mich erst später hier jemand aufmerksam gemacht. Ich käme also nicht darum herum alle nochmal die Nutzungsbedingungen akzeptieren zu lassen.


    Kannst man nicht eine Schleife einbauen, dass die nacheinander aufgerufen werden, wenn sie beide eingebaut sind, also erst die NUBs und dann die Profilfelder? Sonst kann man die zwei ja nie nebeneinander laufen lassen, denn es kann immer vorkommen, dass ein User nach Ewigkeiten wieder auftaucht und beides gleichzeitig machen muss.


    Mir ist schon klar, dass es außer mir wohl nur wenige brauchen werden und du nicht scharf darauf sein wirst für die alte Version noch etwas daran zu ändern. Wenn du es machen würdest, wenn ich es dir bezahle, kannst du mir gerne mal schicken, was es kosten würde. Wenn nicht, bleibt mir nur, es zu deinstallieren und den Leuten hinterher zu schreiben, dass sie das noch ändern müssen :rolleyes:.

    Viele Grüße

    Luisa

  • Ich habe mir jetzt das Update der Nutzungsbestimmungen angesehen. Wo wird denn die Bestätigung des Mindestalters gespeichert? Ist das gar kein extra Feld?

    Viele Grüße

    Luisa

  • Also, wenn ich nun die neuen Nutzungsbedingungen auch für das Mindestalter einsetzen möchte, dann müsste es folgendermaßen sein.


    Ich installiere die neue Version und schalte das Mindestalter ein.


    Dann müsste ich bei denen, die NUBs bestätigt hatten, aber das Mindestalter noch nicht, ein Disclaimer Accepted = 0 setzen.


    Ich kriegt das per SQL nicht hin. Versucht habe ich es so:


    UPDATE wcf1_user SET disclaimerAccepted = 0 WHERE disclaimerAccepted = 1 AND userID IN (SELECT userID FROM wcf1_user_option_value WHERE userOption39 LIKE '%bestätige%')


    In dem UserOption Feld steht der Text, nicht eine 0 oder 1.


    Vielen Dank schonmal.

    Viele Grüße

    Luisa

  • So, nach langem Suchen und rumprobieren, müsste es jetzt so funktionieren:

    SQL
    1. UPDATE wcf1_user
    2. INNER JOIN wcf1_user_option_value ON wcf1_user.userID = wcf1_user_option_value.userID
    3. SET wcf1_user.disclaimerAccepted = 0 WHERE wcf1_user.disclaimerAccepted = 1 AND wcf1_user_option_value.userOptionXX = '';

    Für das XX muss man die Nummer einsetzen, die das Feld bei einem selber hat. Falls es mal noch wer anders braucht.


    edit:


    Hä, also in der Datenbank steht zwar nun eine 0 bei disclaimerAccepted, aber wenn der User sich anmeldet, wird er nicht aufgefordert die Nutzungsbedingungen zu akzeptieren. Ist dafür noch etwas anderes notwendig?


    nochmal edit:

    Sorry, war der Admin, der sie nicht akzeptieren musste :rolleyes: . Also, es klappt so nun.

    Viele Grüße

    Luisa

    2 Mal editiert, zuletzt von Luisa ()

  • Also, noch habe ich das Mindestalter in den Nutzungsbedingungen nicht aktiviert und ich frage mich gerade, ob ich das tun sollte.


    Wenn man die Nutzungsbedingungen ändert, dann wird ja das Feld der Akzeptanz zurück gesetzt. Damit ist dann auch die Bestätigung des Mindestalters futsch. Bis alle wieder ins Forum kommen, kann es dauern und ob in für die Behörden annehmbarer Zeit passieren würde, ist die Frage.


    Daher weiß ich nun nicht, ob es nicht gut wäre für das Mindestalter nicht nur den Haken, sondern auch ein extra Feld zu haben, was bei Änderung der Nutzungsbedingungen bestehen bleibt. Denn man wird ja niemals jünger :D . Dann könnte man zu jeder Zeit belegen, dass der User alt genug ist. Egal wie oft man die Nutzungsbestimmungen ändert. Wäre das nicht doch besser so?

    Viele Grüße

    Luisa