Забрана за повтарящи се букви или символи

webxaoz

Registered
Здравейте, Имам една най-обикновена потребителска форма към която искам да добавя забрана за примерно "xxxxxxxxxxxx" или "654656546" това, тоест ако някой реши да пълни формата с подобно нещо да не може. Интересува ме как мога да направя това в PHP. Благодаря предварително но всички.
 
Потребителските форми се пишат нa html ако не се лъжа.


$bad_words=array('6565656565','6565656','dfhdhshshsdfh');
if (in_array($_POST['input_name'],$bad_words)) die('Пробвай пак!');
 
Имам само оше един въпрос, колкото и глупаво да изглежда той, този премер къде точно трябва да се добави и имали значение това дали е в началото на кода или в края. А може ли да се направи това в отделен файл и да се вмъкне към другия код с формата и ако може как става това. Извинявай за баналните въпроси и благодаря.
 
webxaoz каза:
Имам само оше един въпрос, колкото и глупаво да изглежда той, този премер къде точно трябва да се добави и имали значение това дали е в началото на кода или в края. А може ли да се направи това в отделен файл и да се вмъкне към другия код с формата и ако може как става това. Извинявай за баналните въпроси и благодаря.

Този пример така или иначе няма да ти свърши работа. Ще трябва до края на живота си да пишеш комбинациите :)

Ако целта ти е да не могат да пишат фалшиви данни във формуляра - няма дачин да предотвратиш това. Просто си валидирай полетата според данните, които очаваш - Ако полето е за име позволявай да се пишат само букви в него; Ако е за телефон само цифри, + и евентуално интервали.
 
Ето един елементарен пример:
<?php
$string = "jzxcvbjnm"; //тува ти е съдържанието, което се проверява
$code = array();
foreach (str_split($string) as $current){
if(in_array($current, $code)){
echo "Повтаращя се букви";
break;
} else {
$code[] = $current;
}
}
?>
 
webxaoz каза:
Да ама как става може ли пример

Код:
<?php
	$submitError = false;
	$errorMsg = array();
	$submitSend = isset($_POST['submitSend']) ? true : false;
	
	#Лице за контакт
	$user_contactFirstName = (isset($_POST['user_contactFirstName'])) ? trim($_POST['user_contactFirstName']) : '';
	$user_contactSurName = (isset($_POST['user_contactSurName'])) ? trim($_POST['user_contactSurName']) : '';
	$user_contactMobile = (isset($_POST['user_contactMobile'])) ? trim($_POST['user_contactMobile']) : '';
	
	if($submitSend === true){ #ако е натиснат бутона субмит
		#лице за контакт
		if (empty($user_contactFirstName)) {
			$errorMsg[21] = 'полето не може да бъде празно';
	        $submitError = TRUE;
	    }
		elseif(!preg_match('/^[а-яА-Я\-]*$/iu',$user_contactFirstName)) { #разрешаваш само малки и главни кирилски букви и тирета (заради имената: Ана-Мария)
			$errorMsg[21] = 'името може да е само на кирилица';
	        $submitError = TRUE;
		}
		
		if(empty($user_contactMobile)) {
			$errorMsg[23] = 'полето е празно';
	        $submitError = TRUE;
		}
		elseif(!preg_match('/^[0-9\+ \-]*$/i',$user_contactMobile))	{ #разрешаваш само цифри, знака +, – и интервал
			$errorMsg[23] = 'полето може да съдържа само цифри';
	        $submitError = TRUE;
		}
		
	    if(!$submitError) {
	    	$query = "
			insert into....
			";
			if($result = mysql_query($query)){ #всичко е ОК, показваме съобщение, че се е регнал успешно
				$successReg = true;
			}
			else { #станала е грешка, трябва да кажеш на потребителя, че нещо се е омазало и да опита пак. Ако пак не става да пише на админа примерно...
				$successReg = false;
				#error_log - можеш да си запишеш в лог, че нещо не е сработило...
			}
	    }
	}
?>

<form name="nameForm" id="idForm" action="" method="post">
Име: *
	<input name="user_contactFirstName" id="user_contactFirstName" type="text" value="<?=$user_contactFirstName?>" />
	<?=(isset($errorMsg[21]))?'<span class="errorDiv">'.$errorMsg[21].'</span>':'';?>
GSM:*
	<input name="user_contactMobile" id="user_contactMobile" type="text" value="<?=$user_contactMobile?>" />
	<?=(isset($errorMsg[23]))?'<span class="errorDiv">'.$errorMsg[23].'</span>':'';?>
</form>
 

Back
Горе