Username bei Neuanmeldung automatisch vergeben...

Begonnen von jondan, 14 Juli 2004, 00:54:33

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

jondan

Hallo Leute,

ich habe folgende, vielleicht etwas ungewöhnliche Frage: ist es möglich, jedem User, der sich neu registriert, automatisch einen Usernamen zu vergeben. Gedacht habe ich dabei an NUmmern in aufsteigender Reihenfolge.
Ausserdem läuft die Registration  nur über die Freischaltung durch einen Admin.

Vielen Dank schonmal für eure Hilfe!

Gruß,
jondan

Andi

Hi jondan :)

machbar ist das....
Man könnte einfach die User-ID gleichzeitig auch als Username eintragen. Wobei ich nicht ganz den Sinn dahinter verstehe.

Die Adminfreischaltung kannst du ja im vkpMx bereits über das Adminmenü aktivieren.
schön´s Grüssle, Andi

jondan

Hi Tora,

kannst du mir noch verraten, wie das machbar ist?  :)
Der SInn dahinter ist der, dass meine Kumpels ne Community aufziehen wollen, wo jeder, der sich anmeldet einfach ne Nummer bekommt, statt sich nen Usernamen auszusuchen.

Wär supi, wenn du mir noch helfen könntest! :)

Dankeschöön!

Gruß,
andy

Andi

Hehehe, das namenlose internet hält Einzug....

Oki, müsste über die mx_userfunctions_option.php zu machen sein. Ich schau mir das mal an ;)
schön´s Grüssle, Andi


jondan

Huhu Tora,

hast schonmal gekuckt wegen der automatischen Namensvergabe?
WIll nicht stressen, bräuchte es aber dringen! :)

Vielen Dank schonmal!

Grüsse,
Andy

Andi

Hi Andy :)

sorry, vergessen....

Der Weg über die mx_userfunctions_options.php ist doch etwas zu aufwändig, es geht einfacher:

Im Modul User_Registration/index.php in der Funktion new_user() Zeile ~75-76 steht folgendes:

."<tr valign=\"top\"><td width=\"20%\" bgcolor=\"$bgcolor2\"><b>"._NICKNAME.":</b></td><td colspan=\"3\" bgcolor=\"$bgcolor3\">\n"
."<input type=\"text\" name=\"uname\" size=\"50\" maxlength=\"25\" value=\"".((isset($oldvals['uname'])) ? mxPrepareToDisplay($oldvals['uname']) : "")."\">  <font class=\"tiny\">"._REQUIRED."</font></td></tr>\n";


Diese beiden Zeilen kommentierst du mit einem # davor aus.
Und schreibst als zusätzliche Zeile folgendes darunter:

."<input type=\"hidden\" name=\"uname\" value=\"**********\">";


In der Funktion confirmNewUser() kommentierst du die Zeile ~172 ebenfalls mit einem # davor aus:

#echo "<tr valign=\"top\"><td width=\"20%\" bgcolor=\"$bgcolor2\"><b>"._NICKNAME.":</b></td><td bgcolor=\"$bgcolor3\"><b>".$pvs['uname']."</b></td></tr>\n";


In der Funktion finishNewUser() Zeile ~256 befindet sich folgendes:

extract($sqlvars);


Direkt darunter schreibst du folgende 2 zusätzlichen Zeilen:

$list($xuid) = sql_fetch_row(sql_query("SELECT max(uid) from ${user_prefix}_users"));
$uname = intval($xuid+20);


In der gleichen Funktion finishNewUser() Zeile ~309 befindet sich folgendes:
$viewvars['uid'] = sql_insert_id();

Direkt darunter schreibst du als zusätzliche Zeile:

sql_query("UPDATE ${user_prefix}_users SET uname='".$viewvars['uid']."' WHERE uid='".$viewvars['uid']."'");



Im Eingabeformular wird dadurch der Nickname nicht mehr angezeigt, sondern durch ein verstecktes Feld mit dem Wert '*********' ersetzt.
Dieser Wert wird dann auf der bestätigungsseite auch als Nickname angezeigt.
In der Usertabelle wird beim Einfügen als Benutzername die höchste bereits vorhandene User-ID + 20 gespeichert.
Nach dem Einfügen wird dann der Benutzername durch die eigentliche Benutzer-ID ersetzt.

Fertig ;)

schön´s Grüssle, Andi

jondan

hi tora,

so, alles hat sich verschoben, wie es leider viel zu häufig passiert.
na, auf jeden fall bin ich erst jetzt dazu gekommen, obwohl es anfangs ja ach so eilig war.
leider bekomme ich so einen parse-error in folgender zeile:

$list($xuid) = sql_fetch_row(sql_query("SELECT max(uid) from ${user_prefix}_users"));

ich hoffe, es ist nicht sehr unverschämt, dich nochmal um hilfe zu bitten!  :-[

vielen dank!

Andi

Hi Jondan :)

die Zeile selbst scheint aber in Ordnung zu sein.
Wie lautet die Fehlermeldung genau?

Evtl. poste hier mal die paar Zeilen davor und danach...
schön´s Grüssle, Andi