Проблем с preg_match в скрипт за регистрация

Evanescence

Registered
Нов съм в php програмирането и както всеки начинаещ се уча ..... Проблемат ми е следния:
Проверявам дали името е по - малко от 4 знака и дали името съдържа буквите от a до z и числата от 0 до 9 ако не да ми извежда грешката "Imeto trqbva da e nad 4 simvola"
$match = '/^[a-zA-Z0-9]+$/';
if (strlen($us)<4 AND preg_match($match,$us)== TRUE)
{
die("Imeto trqbva da e nad 4 simvola");
}
ето и целия код
Код:
<?php
$us = htmlspecialchars($_POST['us']);
$pw = htmlspecialchars($_POST['pw']);
$match = '/^[a-zA-Z0-9]+$/';
include ('inc/config.php');


if (strlen($us)<4 AND preg_match($match,$us)== TRUE)
    {
     die("Imeto trqbva da e nad  4 simvola");
    }
if (empty($pw) or strlen($pw)<4)
    {
     die(" paroalta  e zaduljitelna i trqbva da e nad  4-ri simbola");
    }

$chek = mysql_query("SELECT * FROM `users` WHERE `username`='$us'")or die(mysql_error());
$chek = mysql_num_rows($chek);
if ($chek=='1') {
    echo 'Този потребител вече е регистриран! <a href="registration.php">Назад!</a>';
}
else
{
$insert = mysql_query("INSERT INTO users(username, password) VALUES('$us', '$pw')")or die(mysql_error());
echo 'Здравей, <b>' . $us . '</b>! Регистрацията е успешна! Може да влезеш от <a href="index.php">ТУК</a>';
}

?>
 
ами искам ако се въведат символи да ми даде грешка $errMsg = "....." ако не, да провери името дали е по дълго от 4 символа , ако е по дълго от 4 тогава да се изпълнява следния код '...............' ама немога да го направя пиша име "$%^$&%#@" и се регистрирам успешно ..... а аз искам да ми изкара еррор ..... $errMsg = "....."
 
Сега ще ти дам код как го правя аз (това е само примерен код):
Код:
<?php
$ime=$_POST['ime'];
$res1=preg_match('/^[a-zA-Z0-9]{4,100}+$/',$ime);
if(!$res1)
{
echo'Името е задължително и трябва да е не по-малко от 4 символа!';
}
else
{
echo'Вие се регистрирахте успешно!';
}


?>
 
да ти кажа точно преди малко си тествах формата в сайта, която има такъв preg_match както ти го написах и не ми позволява да въведа посочените от теб символи. Незнам какъв е тогава проблема при тебе.
 

Back
Горе