Hallo, Gast! (Registrieren)

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


Benutzer, die gerade dieses Thema anschauen: 6 Gast/Gäste
Benutzergruppe bei der Anmeldung erkennen.
#11
Also ich hänge einfach mal die member.php an.

attac

Und das member_register templade:
PHP-Code:
<html>
<
head>
<
title>{$mybb->settings['bbname']} - {$lang->registration}</title>
{
$headerinclude}
<
script type="text/javascript" src="jscripts/validator.js"></script>
</
head>
<
body>
{
$header}
<
br />
<
form action="member.php" method="post" id="registration_form"><input type="text" style="visibility: hidden;" value="" name="regcheck1" /><input type="text" style="visibility: hidden;" value="true" name="regcheck2" />
{
$regerrors}
<
table border="0" cellspacing="{$theme['borderwidth']}cellpadding="{$theme['tablespace']}class="tborder">
<
tr>
<
td class="thead" colspan="2"><strong>{$lang->registration}</strong></td>
</
tr>
<
tr>
<
td width="50%" class="trow1" valign="top">
<
fieldset class="trow2">
<
legend><strong>{$lang->account_details}</strong></legend>
<
table cellspacing="0" cellpadding="{$theme['tablespace']}width="100%">
<
tr>
<
td colspan="2"><span class="smalltext"><label for="username">{$lang->username}</label></span></td>
</
tr>
<
tr>
<
td colspan="2"><input type="text" class="textbox" name="username" id="username" style="width: 100%" value="{$username}/></td>
</
tr>
{
$passboxes}
<
tr>
<
td><span class="smalltext"><label for="email">{$lang->email}</label></span></td>
<
td><span class="smalltext"><label for="email2">{$lang->confirm_email}</label></span></td>
</
tr>
<
tr>
<
td><input type="text" class="textbox" name="email" id="email" style="width: 100%" maxlength="50" value="{$email}/></td>
<
td><input type="text" class="textbox" name="email2" id="email2" style="width: 100%" maxlength="50" value="{$email2}/></td>
</
tr>
<
select name="Was bist du?">
<
option value="Aldi-Süd Azubi">Aldi-Süd Azubi</option>
<
option value="Aldi-Nord Azubi">Aldi-Nord Azubi</option>
</
select
<
tr>
    <
td colspan="2" style="display: none;" id="email_status">&nbsp;</td>
</
tr>
</
table>
</
fieldset>
{
$requiredfields}
{
$referrer}
{
$regimage}
</
td>
<
td width="50%" class="trow1" valign="top">
<
fieldset class="trow2">
<
legend><strong>{$lang->account_prefs}</strong></legend>
<
table cellspacing="0" cellpadding="{$theme['tablespace']}width="100%">
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="allownotices" id="allownotices" value="1" {$allownoticescheck} /></td>
<
td valign="top"><span class="smalltext"><label for="allownotices">{$lang->allow_notices}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="hideemail" id="hideemail" value="1" {$hideemailcheck} /></td>
<
td valign="top"><span class="smalltext"><label for="hideemail">{$lang->hide_email}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="receivepms" id="receivepms" value="1" {$receivepmscheck} /></td>
<
td valign="top"><span class="smalltext"><label for="receivepms">{$lang->receive_pms}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="pmnotice" id="pmnotice" value="1"{$pmnoticecheck} /></td>
<
td valign="top"><span class="smalltext"><label for="pmnotice">{$lang->pm_notice}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="emailpmnotify" id="emailpmnotify" value="1" {$emailpmnotifycheck} /></td>
<
td valign="top"><span class="smalltext"><label for="emailpmnotify">{$lang->email_notify_newpm}</label></span></td>
</
tr>
<
tr>
<
td valign="top" width="1"><input type="checkbox" class="checkbox" name="invisible" id="invisible" value="1" {$invisiblecheck} /></td>
<
td valign="top"><span class="smalltext"><label for="invisible">{$lang->invisible_mode}</label></span></td>
</
tr>
<
tr>
<
td colspan="2"><span class="smalltext"><label for="subscriptionmethod">{$lang->subscription_method}</label></span></td>
</
tr>
<
tr>
<
td colspan="2">
    <
select name="subscriptionmethod" id="subscriptionmethod">
        <
option value="0" {$no_subscribe_selected}>{$lang->no_auto_subscribe}</option>
        <
option value="1" {$no_email_subscribe_selected}>{$lang->no_email_subscribe}</option>
        <
option value="2" {$instant_email_subscribe_selected}>{$lang->instant_email_subscribe}</option>
    </
select>
</
td>
</
tr>
</
table>
</
fieldset>
<
br />
<
fieldset class="trow2">
<
legend><strong><label for="timezone">{$lang->time_offset}</label></strong></legend>
<
table cellspacing="0" cellpadding="{$theme['tablespace']}width="100%">
<
tr>
<
td><span class="smalltext">{$lang->time_offset_desc}</span></td>
</
tr>
<
tr>
<
td>{$tzselect}</td>
</
tr>
<
tr>
<
td><span class="smalltext">{$lang->dst_correction}</span></td>
</
tr>
<
tr>
<
td>
</
td>
</
tr>
</
table>
</
fieldset>
<
br />
<
fieldset class="trow2">
<
legend><strong><label for="language">{$lang->lang_select}</label></strong></legend>
<
table cellspacing="0" cellpadding="{$theme['tablespace']}width="100%">
<
tr>
<
td colspan="2"><span class="smalltext">{$lang->lang_select_desc}</span></td>
</
tr>
<
tr>
<
td><select name="language" id="language"><option value="">{$lang->lang_select_default}</option><option value="">-----------</option>{$langoptions}</select></td>
</
tr>
</
table>
</
fieldset>
</
td>
</
tr>
</
table>
<
br />
<
div align="center">
<
input type="hidden" name="step" value="registration" />
<
input type="hidden" name="action" value="do_register" />
<
input type="submit" class="button" name="regsubmit" value="{$lang->submit_registration}/>
</
div>
</
form>
<
script type="text/javascript">
<!--
    
regValidator = new FormValidator('registration_form');
    
regValidator.register('username''notEmpty', {failure_message:'{$lang->js_validator_no_username}'});
    
regValidator.register('email''regexp', {match_field:'email2'regexp:'^([a-zA-Z0-9_\.\+\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$'failure_message:'{$lang->js_validator_invalid_email}'});
    
regValidator.register('email2''matches', {match_field:'email'status_field:'email_status'failure_message:'{$lang->js_validator_email_match}'});
{
$validator_extra}
    
regValidator.register('username''ajax', {url:'xmlhttp.php?action=username_availability'loading_message:'{$lang->js_validator_checking_username}'}); // needs to be last
// -->
</script>
{
$footer}
</
body>
</
html
Achtung
 nehmen Sie diese Beiträge nicht ernst! Das MyBB wissen beruht auf
(letzter Stand: MyBB 1.2.8)
Zitieren
#12
Ersetze im Template
Code:
<select name="Was bist du?">
<option value="Aldi-Süd Azubi">Aldi-Süd Azubi</option>
<option value="Aldi-Nord Azubi">Aldi-Nord Azubi</option>
</select>
durch
Code:
<select name="was_bist_du">
<option value="1">Aldi-Süd Azubi</option>
<option value="2">Aldi-Nord Azubi</option>
</select>
und in der Datei
PHP-Code:
else
{
    switch(
$mybb->input['Was bist du?']) {
    case 
'Aldi-Süd Azubi':
        
$usergroup 10;
    break;
    case 
'Aldi-Nord Azubi':
        
$usergroup 11;
    break;
    }

durch:
PHP-Code:
switch($mybb->input['was_bist_du']) {
case 
'1':
    
$usergroup 10;
break;
case 
'2':
    
$usergroup 11;
break;

Geht es dann?

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.
Zitieren
#13
Michael......?

Genial!

Danke ich werde die Tage eine komplette zusammen fassung dieses Themas machen.
Anleitung zum oben genannten Thema

  1. Gehe in dein Admincp und erstelle die Gruppen die du haben möchtest!
  2. Lade dir deine member.php runter und gehe auf bearbeiten.
    Zeile 93 - 96 ersetst du durch:
    PHP-Code:
    switch($mybb->input['Deine Frage(z.b Was für eine Gruppe wilst du sein']) {
    case 
    '1':
        
    $usergroup xx;
    break;
    case 
    '2':
        
    $usergroup xx;
    break;

    xx=GID der Benutzergruppe diese findest du, wenn du auf deine Benutzergruppe klickst oben im Link, die Zahl am ende.
  3. suche im admincp nach member-register templade.
    Setze an der gewünschten stelle folgendes ein:
    PHP-Code:
    <select name="Deine Frage (z.b welche Gruppe möchtest du sein?">
    <
    option value="1">Benutzer Gruppe1</option>
    <
    option value="2">Benutzer Gruppe2</option>
    </
    select
    Dies erscheint später auf der Anmeldungs Seite.

    Ändere alle stellen im Script wie angegeben und fertig.
    Viel Spaß
Achtung
 nehmen Sie diese Beiträge nicht ernst! Das MyBB wissen beruht auf
(letzter Stand: MyBB 1.2.8)
Zitieren
#14
Michael sorry das ich dich noch mal damit belasten muss ich habe ein Problem ich wollte jetzt noch 2 hinzufügen und nun wird keiner erkannt.

Hier meine member.php (ich habe ein größeren auschnitt Kopiert)
PHP-Code:
if($mybb->input['action'] == "do_register" && $mybb->request_method == "post")
{
    
$plugins->run_hooks("member_do_register_start");

    if(
$mybb->settings['regtype'] == "randompass")
    {
        
$mybb->input['password'] = random_str();
        
$mybb->input['password2'] = $mybb->input['password'];
    }

    if(
$mybb->settings['regtype'] == "verify" || $mybb->settings['regtype'] == "admin" || $mybb->input['coppa'] == 1)
    {
        
$usergroup 5;
    }
    else
    {
switch(
$mybb->input['was_bist_du']) {
case 
'1':
    
$usergroup 10;
break;
case 
'2':
    
$usergroup 11;
break;
case 
'3':
    
$usergroup 12;
break;
case 
'4':
    
$usergroup 13;
break;
}
    } 

Und hier meine pasende member_reg....

PHP-Code:
<select name="was_bist_du">

<
option value="1">Aldi-Süd Azubi</option>

<
option value="2">Aldi-Nord Azubi</option>

<
option value="3">Aldi-Süd Mitarbeiter</option>

<
option value="4">Aldi-Nord Mitarbeiter</option>
</
select>
<
tr

Ich check es echt nicht es ging die ganze Zeit!!! mit 2 Gruppen
Achtung
 nehmen Sie diese Beiträge nicht ernst! Das MyBB wissen beruht auf
(letzter Stand: MyBB 1.2.8)
Zitieren
#15
Entschuldigt, dass ich den Thread hier aufwärme, aber ich habe da noch ne Frage zu.

Zunächst mal funktioniert der Code wunderbar. Jedoch nur wenn der Benutzer sofort automatisch nach der Registrierung freigeschaltet wird.

Wie stellt man es an, dass das z.B. nach der Aktivierung durch den Admin passiert?

Ich könnte mir vorstellen, dass das an dieser Stelle eingefügt werden muss:

Code:
$db->delete_query("awaitingactivation", "uid='".$user['uid']."' AND (type='r' OR type='e')");
        if($user['usergroup'] == 5 && $activation['type'] != "e")
        {
            $db->update_query("users", array("usergroup" => 2), "uid='".$user['uid']."'");

Weiß aber leider nicht wie ich die switch/case Abfrage da reinbringe.

Im selben Zuge stellt sich mir die Frage, ob auch sekundäre Benutzergruppen und die Anzeigegruppe so gesetzt werden können.
Code:
case "1":
    $usergroup = 1;
    $additional_usergroup = 2;
    $displaygroup = 3;
break;
klappt leider nicht.
Vielen Dank im Voraus!
Zitieren
#16
(18.02.2009, 01:55)JDF schrieb: Wie stellt man es an, dass das z.B. nach der Aktivierung durch den Admin passiert?
Das ist etwas schwieriger, da die Benutzergruppe dann irgendwo zwischengespeichert wird. Wenn du die Benutzer sowieso freischaltest, kannst du im ACP doch auch direkt die Gruppe ändern.

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.
Zitieren
#17
Aus seiner primären Gruppe kann man nicht austreten. Entweder erstellst du ein Plugin/Mod dafür oder du steckst alle Benutzer in eine Basisgruppe und der Benutzer kann in deinem Benutzer-CP einer sekundären Gruppe beitreten und sie auch selbst verlassen.

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.
Zitieren
#18
Letzteres habe ich jetzt so praktiziert.
Ich habe es inzwischen auch hinbekommen, dass sekundäre Benutzergruppe und Anzeigegruppe bei der Registrierung (Sofortfreischaltung) gesetzt werden.
Mit Administratorfreischaltung wäre das allerdinngs schöner. Dazu müssten die Optionen aber erst an die Datenbank übergeben, zwischengespeichert und bei Freischaltung an entsprechende Stelle im Benutzerprofil gesetzt werden, richtig? Das ist mir glaub ich zu hoch.
Zitieren
#19
Richtig. Genau das ist der Grund, warum das nicht "mal eben" umsetzbar ist. Wink

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.
Zitieren
#20
Schade...
Noch was: Ich habe da wahrscheinlich nur ein Syntaxproblem und zwar würde ich gerne den Switch mit zwei Variablen ausstatten. Ich hab das so versucht...
Code:
        switch(true) {
            case ($mybb->input['select1'] == "1" && $mybb->input['select2']=="1"):
                 $usergroup = 2;
                 $additionalgroups = 11;
                 $displaygroup = 11;        
                break;
            case ($mybb->input['select2'] =="2" && $mybb->input['select2']=="1"):
                 $usergroup = 2;
                 $additionalgroups = 9;
                 $displaygroup = 9;
                break;
                 .
                 .
                 .
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
Question Originalbeiträge erkennen waldmeister 4 2.090 31.08.2011, 17:16
Letzter Beitrag: waldmeister
Question Zeige Benutzergruppe: --Wenn verfügbar, sekundäre Benutzergruppe-- Rookie-Doo 11 4.617 30.12.2007, 13:31
Letzter Beitrag: Rookie-Doo