Зрабана за въвеждане на кирилица

bozhidar94

Registered
Код:
<?php
$mesaj = '';
$status = 0; // 1 = Status bun; 2 = Status rau;
if(isset($_POST['submit'])){
	if(empty($_POST['nume']) || empty($_POST['parola']) || empty($_POST['premiu']) || empty($_POST['email']) || empty($_POST['telefon']) || empty($_POST['data_nasterii']) || empty($_POST['oras'])){
		$mesaj = '<center><font color="red"><b>Моля, попълнете всички полета!</b></font></center>';
		$status = 2;
	} else {
		$status = 1;
		$nume = htmlentities($_POST['nume']);
		$nume = str_replace("!", "", $nume);
		$nume = str_replace("@", "", $nume);
		$nume = str_replace("#", "", $nume);
		$nume = str_replace("$", "", $nume);
		$nume = str_replace("%", "", $nume);
		$nume = str_replace("^", "", $nume);
		$nume = str_replace("&", "", $nume);
		$nume = str_replace("*", "", $nume);
		$nume = str_replace("(", "", $nume);
		$nume = str_replace(")", "", $nume);
		$nume = str_replace("_", "", $nume);
		$nume = str_replace("-", "", $nume);
		$nume = str_replace("+", "", $nume);
		$nume = str_replace("=", "", $nume);
		$nume = str_replace("]", "", $nume);
		$nume = str_replace("[", "", $nume);
		$nume = str_replace("/", "", $nume);
		$nume = str_replace("|", "", $nume);
		$nume = str_replace("}", "", $nume);
		$nume = str_replace("{", "", $nume);
		$nume = str_replace("'", "", $nume);
		$nume = str_replace("", "", $nume);
		$nume = str_replace("", "", $nume);
		$nume = str_replace(">", "", $nume);
		$nume = str_replace(".", "", $nume);
		$nume = str_replace(",", "", $nume);
		$nume = str_replace("<", "", $nume);
		$parola = htmlentities($_POST['parola']);
		$premiu = htmlentities($_POST['premiu']);
		$email = htmlentities($_POST['email']);
		$telefon = htmlentities($_POST['telefon']);
		$data_nasterii = htmlentities($_POST['data_nasterii']);
		$oras = htmlentities($_POST['oras']);
		$ip = $_SERVER['REMOTE_ADDR'];
		
		// VERIFICA NUME
		$verifica_nume = mysql_query("SELECT * FROM ".$prefix."utilizatori WHERE nume = '$nume'");
		$row = mysql_fetch_array($verifica_nume);
		$numar_rows = mysql_num_rows($verifica_nume);
		{
			if($numar_rows == 0){
				$status = 1;
			} else {
				$mesaj = '<center><font color="red"><b>Потребител с това име вече съществува!</b></font></center>';
				$status = 2;
			}		
		}
	
		// QUERY ADAUGA
		if($status == 1){
			mysql_query("INSERT INTO ".$prefix."utilizatori (nume, parola, premiu, email, telefon, data_nasterii, oras, ip) VALUES ('$nume', '$parola', '$premiu', '$email', '$telefon', '$data_nasterii', '$oras', '$ip')");
			$mesaj = '<center><font color="green"><b>Регистрацията е направена успешно!<br />Вашият уникален линк е: <a href="'.$adresa_site.'concurent-'.$nume.'.html">'.$adresa_site.'concurent-'.$nume.'.html</a></b></font></center>';
		}
	}
}
echo $mesaj;
if($status == 2 || $status == 0){
?>

Това ми е reg.формата.. Искам когато някой въвежда потребителско име, да може да го въвежда само на латиница..

Благодаря предварително!
 
Не мислиш ли, че е по-добре да правиш една проверка за да видиш дали е валидно полето, отколкото 50 дали е невалидно? Измисли кои символи могат да се използват и ше ти я напиша
 
Като ти гледам кода мисля, че трябва да е така. Ако тва ти е примерно потребителско име, най-елементарното е

PHP:
if (!preg_match('/^[a-zA-Z0-9_\-\.]{3,32}$/', $nume )) {
     $status = 2;
}

сложи го на местото на всички тия str_replace-ове
 

Back
Горе