0
Привет Я пытаюсь проверить простую форму HTML. Вот мой код HTML-проверка формы в PHP с использованием preg_match
<HTML>
<body>
<form method="get" action="password.php">
User ID<input type="text" name="user" id="user" required/><br/>
Password<input type="password" name="pass" id="pass" required/><br/>
<input type="submit" value"Login Here">
</form>
</body>
</html>
Пароль должен содержать только цифры. Мой password.php
это-<?php
$name=$_GET['user'];
$pass=$_GET['pass'];
$strlen1= strlen($name);
$strlen2= strlen($pass);
$regex= "/^[789][0-9]{9}$/"; // my password should contain digits only.
if($strlen1==0 | $strlen2==0)
{
echo 'Username or password field is empty'.'<br/>';
}
else if($name==$pass)
{
echo 'Go for a better password'.'<br/>';
}
else if(!preg_match($regex,$pass))
{
echo 'password is invalid'.'<br/>';
}
else
{
echo 'You have successfully logged in'.'<br/>';
}
?>
На запуске скрипта, даже если я ввожу правильный пароль, как-«123456» сообщение says- «неверный пароль». Пожалуйста, дайте мне знать ошибку в приведенном выше коде. Спасибо !!!
Ваше регулярное выражение '^ [789] [ 0-9] {9} $ 'требует, чтобы пароль начинался с' 7', '8' или' 9', а затем ровно 9 цифр. Измените его на '^ \ d + $', чтобы принять любое количество цифр или, например, '^ \ d {6,} $', для не менее 6 цифр. –