Вы пропустили точку с запятой (;
) в echo "great";
if (!ctype_upper($pwd) && !ctype_lower($pwd))
{
echo "great";
}
И есть одна лишняя закрывающая скобка (}
) перед последней:
}
else {
header("Location: ../signup.php");
exit();
}
Попробуйте эти шаблоны для регулярных выражений, чтобы проверить ваш пароль:
<?php
$passw = "ABFaDAasS";
print_r(preg_match("/^[A-Za-z]{8,}$/",$passw)); // Lowercase and uppercase with length 8 or more. Prints 1 or true
print_r(preg_match("/^[a-z]{8,}$/",$passw)); // Lowercase with length 8 or more. Prints 0 or false
print_r(preg_match("/^[A-Z]{8,}$/",$passw)); // Uppercase with length 8 or more. Prints 0 or false
print_r(preg_match("/^[A-Za-z0-9]{8,}$/",$passw)); // Lowercase and uppercase and all numbers with length 8 or more. Prints 1 or true
Но обычно после проверки синтаксиса вы должны использовать хеш из заданных паролей, можете просто использовать функцию md5, например:
echo md5("password"); //prints 5f4dcc3b5aa765d61d8327deb882cf99