Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Vartotojo varde tik skaičiai ir raidės

Parašė AgS· 2010 Rugs. 26 15:09:52
#1

Sveiki, kaip padaryti, kad registruodamasis narys vartotojo varde galėtu naudoti tik skaičius ir raides? Kad neleistu naudot tarpo, _ ir kitokių simbolių

Redagavo AgS· 2010 Rugs. 26 15:09:00

Parašė Pakartoti slaptažodį· 2010 Rugs. 26 18:09:16
#2


if (preg_match("/[^A-z0-9_\-]/", $_POST["username"]) == 1) { die("Slaptažodį privalo sudaryti tik skaitmenys ir raidės!"); }

Parašė AgS· 2010 Rugs. 27 15:09:04
#3

kitų simbolių nebeleidžia naudoti, bet tarpą vistiek galima...

Parašė Pakartoti slaptažodį· 2010 Rugs. 27 18:09:42
#4


if (preg_match("/[^A-z0-9_\-]/",$_POST["username"]) == 1 && preg_match(" ",$_POST["username"]) == 1) { die("Slaptažodį privalo sudaryti tik skaitmenys ir raidės!"); }


O jei taip?

Parašė AgS· 2010 Rugs. 27 19:09:35
#5

hm, neveikia, vistiek leidžia

Parašė edeni· 2010 Rugs. 28 14:09:17
#6


if (preg_match("/[^A-z0-9_\-]/",$_POST["username"]) == 1 && strpos($_POST["username"], ' ')) { die("Slaptažodį privalo sudaryti tik skaitmenys ir raidės!"); }


Nežinau ar išvis veikiantis kodas. Bet pamegink

Redagavo edeni· 2010 Rugs. 28 14:09:52

Parašė AgS· 2010 Rugs. 28 16:09:24
#7

neveikia... (Min. privalomas)

Parašė AgS· 2010 Rugs. 28 19:09:06
#8

neveikia... (Min. privalomas)

Parašė Pakartoti slaptažodį· 2010 Rugs. 29 14:09:20
#9

sugalvojau. siunčiant formą keisk tarpą į nieką. pvz.


str_replace(" ","",$inputas);

Parašė AgS· 2010 Rugs. 29 14:09:31
#10


$username = stripinput(trim(eregi_replace(" +", "", $_POST['username'])));


kaip į čia įdėt dar tavo koda? ir nerodys erroro, jei padarysi tarpa nike, tiesiog užregins be tarpo, na bet tiek to.

Parašė Pakartoti slaptažodį· 2010 Rugs. 29 14:09:18
#11


$username = str_replace(" ","",stripinput(trim(eregi_replace(" +", "", $_POST['username']))));


Taip, jei užregins nicką su tarpu, jis paprasčiausiai dings.

Parašė AgS· 2010 Rugs. 29 15:09:14
#12

Parse error: syntax error, unexpected T_VARIABLE

Parašė edeni· 2010 Rugs. 29 15:09:58
#13


$username1 = stripinput(trim(eregi_replace(" +", "", $_POST['username'])));
$username = str_replace(" ","",$username1);

Parašė Pakartoti slaptažodį· 2010 Rugs. 29 15:09:09
#14

Na galima ir taip, šiaip kuo mažiau kintamųjų tuo geriau. Ir šiaip - eregi_replace funkcija jau nebenaudojama, naudok str_replace.

Parašė AgS· 2010 Rugs. 29 15:09:22
#15

oh.. Dabar parašius bet kokį niką, ar gera ar bloga, rašo, kad vartotojo varde yra neleistinų simbolių...

Parašė Pakartoti slaptažodį· 2010 Rugs. 29 17:09:32
#16

Dalį to login kodo pakopink.

Parašė AgS· 2010 Rugs. 29 17:09:09
#17

čia register.php faile,


} else if (isset($_POST['register'])) {
	$error = "";
 
	$username = stripinput(trim(eregi_replace(" +", "", $_POST['username'])));
	$email = stripinput(trim(eregi_replace(" +", "", $_POST['email'])));
	$password1 = stripinput(trim(eregi_replace(" +", "", $_POST['password1'])));
 
	if ($username == "" || $password1 == "" || $email == "" || $gender == "" || $user_year == "" || $user_month == "") $error .= $locale['402']."<br>\n";
 
	if (!preg_match("/[^A-z0-9_\-]/", $username)) $error .= $locale['403']."<br>\n";
 
	if (preg_match("/^[0-9A-Z@]{6,20}$/i", $password1)) {
		if ($password1 != $_POST['password2']) $error .= $locale['404']."<br>\n";
	} else {
		$error .= $locale['405']."<br>\n";
	}
 
	if (!preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email)) {
		$error .= $locale['406']."<br>\n";
	}

Redagavo AgS· 2010 Rugs. 29 17:09:27