Hallo
bei Neuanmeldung wird kontrolliert ob der angegebene E-Mail Adresse im Datenbank bereits vorhanden ist.Wenn erscheint eine Fehlermeldung.
Kann man das auch für den ICQ erweitern so das kontrolliert wird ob der angegebene ICQ Nummer bereits vom anderen User angegeben ist.
Danke.
:redhead: Lucia
Hi Lucia,
dazu muesste man in der gesamten index.php des Y_A Modules die checkroutinen um diese Abfrage erweitern... ist aber generell moeglich, nur eben mit einigem Aufwand an Tipparbeit.
Evtl hat das ja schon einer der anderen User fertiggebastelt....
Nunja....soviel ist nun auch nicht.
if (sql_num_rows(sql_query("select uname from users where uname='$uname'", $dbi), $dbi) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
kopieren und durch die Abfrage der ICQ-Spalte erstzen.
Dann noch für die Fehlermeldung eine selbige schreiben und fertig.
Die function userCheck($uname, $email) muß dann aber auch um den ICQ Parameter erweitert werden....
Hier die neue Funktion, die alte damit ersetzen (Datei Your_Account/index.php):
function userCheck($uname, $email, $user_icq) {
global $stop, $user_prefix, $dbi;
if ((!$email) || ($email=="") || (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,6}$",$email))) $stop = "<center>"._ERRORINVEMAIL."</center><br>";
if (strrpos($email,' ') > 0) $stop = "<center>"._ERROREMAILSPACES."</center>";
if ((!$uname) || ($uname=="") || (ereg("[^a-zA-Z0-9_-]",$uname))) $stop = "<center>"._ERRORINVNICK."</center><br>";
if (strlen($uname) > 25) $stop = "<center>"._NICK2LONG."</center>";
if (eregi("^((root)|(adm)|(linux)|(webmaster)|(admin)|(god)|(administrator)|(administrador)|(nobody)|(anonymous)|(anonimo)|(anónimo)|(operator))$",$uname)) $stop = "<center>"._NAMERESERVED."";
if (strrpos($uname,' ') > 0) $stop = "<center>"._NICKNOSPACES."</center>";
if (sql_num_rows(sql_query("select uname from ".$user_prefix."_users where uname='$uname'", $dbi), $dbi) > 0) $stop = "<center>"._NICKTAKEN."</center><br>";
if (sql_num_rows(sql_query("select email from ".$user_prefix."_users where email='$email'", $dbi), $dbi) > 0) $stop = "<center>"._EMAILREGISTERED."</center><br>";
// Hier ICQ , die Variable _ICQNICKTAKEN muß noch mit einer Übersetzung in die Your_Account/languages/lang-german.php
if (sql_num_rows(sql_query("select user_icq from ".$user_prefix."_users where user_icq='$user_icq'", $dbi), $dbi) > 0) $stop = "<center>"._ICQNICKTAKEN."</center><br>";
return($stop);
}
Und dann jeden Aufruf der Funktion:
userCheck($uname, $email);
ersetzen durch:
userCheck($uname, $email, $user_icq);
Das ist 2 x in der Datei drin.
Wie immer ohne Gewähr und Garantie, da nicht getestet, sondern im Notepad gestückelt ..
Monika
Vielleicht noch prüfen ob in ICQ überhaupt was drin ist?
------------- in --------------------------
If (trim($user_icq) != "" ) {
if (sql_num_rows(sql_query("select user_icq from ".$user_prefix."_users where user_icq='$user_icq'", $dbi), $dbi) > 0) $stop = "<center>"._ICQNICKTAKEN."</center><br>";
return($stop);
}
------------------------------------------------
So als Verbesserungsvorschlag.
STIMMT !! Ist mehr als sinnvoll, sondern zwingend notwenig !!
Danke Jens,
Monika
Hallo Monik und Jens
danke für eure Hilfe es funktioniert
nur ein Fehlermeldung kommt vor.
Warning: Missing argument 3 for usercheck() in /modules/Your_Account/index.php on line 143
Was kann das sein wenn doch etwas fehlen würde dann dürfte es doch nicht funktionieren oder ??
:redhead:
Lucia
ZitatUnd dann jeden Aufruf der Funktion:
userCheck($uname, $email);
ersetzen durch:
userCheck($uname, $email, $user_icq);
Das ist 2 x in der Datei drin.
Da hast Du wohl noch nicht alle ersetzt, irgendwo muß es noch eine geben ohne den 3. Paramaeter...
Monika
Hi Monika
ich habe keine zweite finden können :cry
In welche Zeile ungefähr ? :redhead:
Danke
Hi Lucia,
in den Funktionen
confirmNewUser()
finishNewUser()
sind die entsprechenden Aufrufe ;)
Hi Andi,
danke
hab Monik falsch verstanden
ich dachte Sie meint damit function userCheck käme zweimal vor.
Danke nochmals an Monik, Jens und dir..
:kiss