Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Nachträglich hinzugekommene Profilfelder (Pflicht) füllen lassen => GELÖST
#1
Question 
Hallo!

Gibts ne möglichkeit, direkt nach dem Anmelden zu checken, ob vom User alle Pflichtfelder ausgefüllt sind. gerade interessant, wenn man welche hinzugefügt hat, nachdem das Forum schon nen zeit lief.

Ideen, Vorschläge etc. wären echt super :-)

Gruß von Christian
#2
Das wäre etwas komplizierter zu bewerkstelligen. Ich würde vorschlagen du trägst via MySQL für alle Benutzer, die in den entsprechenden Profilfeldern noch nichts eingetragen haben, einen Standardwert ein.
Vantage-Forum: http://vantage-forum.de/
#3
kann man das nicht als zusätzlichen select beim anmelden mit aufnehmen?
und wenn einer der werte = "" dann nen redirect auf das Profil machen?
#4
PHP-Code:
if($mybb->user['uid'] != 0) {
$field $db->fetch_array($db->simple_select("mybb_userfields""*""ufid='".$mybb->user['uid']."'"));

if(!
$field['fidX']) {
  
redirect("Text bei Weiterleitung""usercp.php?action=profile");
}


Das Code ist jetzt völlig ungetestet. Den Text müsstest du bearbeiten und in der IF-Abfrage das X bei fidX durch die ID des Profilfelds ersetzen.
Vantage-Forum: http://vantage-forum.de/
#5
ist denn die member.php die richtige stelle?
#6
Ja, da dort die Anmeldung durchgeführt wird.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#7
ich kriegs einafch nicht auf die kette.

kann mir einer von euch nochmal behilflich sein?
ich habs in den login bereich gepackt, wo die weiterleitung auf die ursprungsseite stattfindet. aber sehe nix davon, obwohl in in der Datenbank das entsprechende Feld geleert habe
#8
Wo genau hast du den Code eingetragen?
Vantage-Forum: http://vantage-forum.de/
#9
Wink 
So, hab nun die Lösung gefunden!
Danke erstmal allen die mir vorab geholfen haben.

Bei jedem Login wird nun geprüft, ob die gewünschten (zusätzlichen) Profilfelder gefüllt sind!

Dazu in der index.php nach Zeile 32 folgendes einfügen:

PHP-Code:
// Prüft ob alle Benutzerfelder gefüllt sind!
if($mybb->user['uid'] != 0) {
    
$field $db->fetch_array($db->simple_select("mybb_userfields""*""ufid='".$mybb->user['uid']."'"));

    if((
$field['fid4'] == "") or ($field['fid5'] == "")) {
        
redirect("usercp.php?action=profile""Bitte alle Profilfelder ausfüllen!");
    }


und in der member.php die Zeilen 956 - 965 gegen dieses hier austauschen:

PHP-Code:
    if($mybb->input['url'] != "" && strpos(basename($mybb->input['url']), 'member.php') === false)
    {

        if(
$user['uid'] != 0) {

            
$field $db->fetch_array($db->simple_select("mybb_userfields""*""ufid='".$user['uid']."'"));

            if((
$field['fid4'] == "") or ($field['fid5'] == "")) {
                
redirect("usercp.php?action=profile""Bitte alle Profilfelder ausfüllen!");
            }
            else{
                
// Redirect to the URL if it is not member.php
                
redirect(htmlentities($mybb->input['url']), $lang->redirect_loggedin);
            }            
        }

    }
    else
    {
        if(
$user['uid'] != 0) {

            
$field $db->fetch_array($db->simple_select("mybb_userfields""*""ufid='".$user['uid']."'"));

            if((
$field['fid4'] == "") or ($field['fid5'] == "")) {
                
redirect("usercp.php?action=profile""Bitte alle Profilfelder ausfüllen!");
            }
            else{
                
redirect("index.php"$lang->redirect_loggedin);
            }            
        }
    }


um die benötigten Profilfelder noch deutlicher hervorzuheben muss in der Datei usercp.php in der Zeile 522 + 523 der Coden gegen folgenden ersetzt werden:

PHP-Code:
        if($profilefield['required'] == "yes")
        {
            
$code "<input type=\"text\" name=\"profile_fields[$field]\" class=\"textbox_required\" size=\"$profilefield[length]\" maxlength=\"$profilefield[maxlength]\" value=\"$value\" />";
        }
        else{
            
$code "<input type=\"text\" name=\"profile_fields[$field]\" class=\"textbox\" size=\"$profilefield[length]\" maxlength=\"$profilefield[maxlength]\" value=\"$value\" />";
        } 

und die letzte Aktion ist das Hinzufügen des neuen CSS-Codes im Admin Frontend (Themes, Ändern/Entfernen, dann ganz unten im Feld "Zusätzliches CSS"):

Code:
input.textbox_required {
    background: #ffffff;
    color: #000000;
    border: 1px solid #ff0000;
    padding: 1px;
}


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Foren nachträglich ordnen lalala 2 1.609 29.02.2008, 11:35
Letzter Beitrag: lalala
Exclamation Wieso kann man Umfragen nicht nachträglich bearbeiten!? SweetySchnuffel 16 11.281 11.12.2007, 23:02
Letzter Beitrag: Hank
  Kann nachträglich Forenberechtigung nicht ändern Tomsn 3 2.182 09.12.2006, 14:30
Letzter Beitrag: Tomsn
  Beiträge Nachträglich oben anhäften? blueberlin 3 2.061 26.08.2006, 11:40
Letzter Beitrag: Michael
  Portalseite füllen? TheRipperMan 9 3.932 18.01.2006, 20:31
Letzter Beitrag: Michael