Проверка за поне 4 символа

systems

Registered
Добър вечер използвам следната система за регистрация:

PHP:
<?php
$db_user = "dbuser"; // Потребителско име
$db_pass = "dbpass"; // Парола
$db_database = "db"; // Датабаза име
$db_host = "dbhost"; // Сървър , обикновено е localhost
$db_connect = mysql_connect ($db_host, $db_user, $db_pass); // Връзка.
$db_select = mysql_select_db ($db_database); // Избира датабазата.
function form($data) { // Защита
global $db_connect;
$data = ereg_replace("[\'\")(;|`,<>]", "", $data);
$data = mysql_real_escape_string(trim($data), $db_connect);
return stripslashes($data);
}
//Проверка за натиснат бутон сюбмит. 
if(isSet($_POST['submit']))
{ 
         
        $eror = 0;
        $str = addslashes(htmlspecialchars($_POST['regs']));
        $password = $_POST['password'];
        $cpassword =$_POST['cpassword'];
        $user = addslashes(htmlspecialchars($_POST['user']));
        function verifyUsername($user) 
                {        
                        $chek = mysql_query("SELECT * FROM `users` WHERE `username` = '{$user}'")or die(mysql_error());        
                        return mysql_num_rows($chek)? 1 : 0; 
                        



 }
       if(empty($str))
       {
       echo "<div class='error'>Съжалявам но не сте попълнили въпроса</div>";
       $eror++;
        }
        if(empty($password))
        {
                echo "<div class='error'>Въведете парола</div>";
                $eror++;
        }
        if(empty($cpassword))
        {
                echo "<div class='error'>Въведете паролата повторно</div>";
                $eror++;
        
        }
        if(empty($user))
        {
                echo "<div class='error'>Въведете потребител</div>";
                $eror++;
       
        }
        if($password != $cpassword) 
        {
                echo "<div class='error'>Паролите не съвпадат</div>";
                $eror++;
        }
        if($str != "София") 
        {
                        echo "<div class='error'>Това не е столицата на България</div>";
            $eror++;
                }
                //Викане на функцията за проверка на съществуващ потребител.
                if(VerifyUsername($user) == 1) 
                {
                        echo "<div class='error'>Вече има регистриран потребител с това име в нашата база с данни!!!</div>";
            $eror++;
                }
        if($eror == 0)
        {
                
                          
                
                $uid = "SELECT id, MAX(uid) FROM users";
                $acct_userid = mysql_query($id) or die(mysql_error());
                while($row = mysql_fetch_array($acct_userid)) 
                {
                $acct_userid = "". $row['type']. "" .$row['MAX(id)'] +1;
                }
                

                
                
                
                
                
                
                $password = md5($password);
                $ip = $_SERVER['REMOTE_ADDR'];
                $time = time();
                $nq = mysql_query ("INSERT INTO users(id, username, username, acct_userid, passhash1, acct_email, acct_reg_ip, webacct_creation_time)VALUES('$acct_userid', '$user', '$user', '$acct_userid', '$password', '$email','$ip', '$time')")  or die (mysql_error());
                

                echo "<div class='success'>.$_POST[user].:Вашият акаунт е успешно създаден вашата парола е:.$_POST[password].</div>";
                }
                            

}
?>
 <form name="registerform" method="POST">
 <span>Акаунт в сървъра:</span><br />
 <input type="text" class="txt" name="user" /><br />
 <span>Парола в сървъра:</span><br />
 <input type="password" class="txt" name="password" /><br />
 <span>Повтори парола в сървъра:</span><br />
 <input type="password" class="txt" name="cpassword" /><br />
 <span>Коя  е столицата на българия:</span><br />
 <input type="text" name="regs"><br> 
 <input type="submit" name="submit" value="Регистрираи акаунт" />
 </form>
<div class='warning'>Внимание отговора на въпроса се пише на български език(кирилица) с първа главна буква</div>";
         </div>
	</div>
?>

въпроса ми може ли да се добави следната проверка, потребителя при регистрация да е задължен паролата му да е поне 4 символа букви,цифри или символи
може ли да се добави подобен род проверка и как ще стане благодаря ви.



аз опитах така но ми казва всеки път че паролата ми трябва да е 4 символа:
PHP:
  }
        if(empty($password)<4)
        echo "<div class='error'>Паролата Ви трябва да е поне 4 символа!</div>";
        $eror++;
        {
 
PHP:
$password= "test@12";

$passwordCheck = filter_var($password, FILTER_VALIDATE_REGEXP,
                            ['options' =>
                                ['regexp' =>
                                    '/^(.{0,3}|[^0-9]*|[^a-zA-Z]*|[a-zA-Z0-9]*)$/']]);

if ($passwordCheck !== false) {
    echo "Невалидна парола.";
}
 
Както lam3r4370 каза използвай strlen:

Код:
if(strlen($password)<4)

        echo "<div class='error'>Паролата Ви трябва да е поне 4 символа!</div>";

        $eror++;

lam3r4370 каза:
Използвай strlen вместо empty

п.с.
Не е никак добра идея това mysql_*... отворен си за sql injection-и и хакване...
 

Back
Горе