Создать форму для ввода электронного адреса в формате vasya.pupkin@ukr.net, пароль и подтверждение пароля. При нажатии на кнопку, должна проводиться проверка на валидность введенных данных включая проверку наличия в пароле хотя бы 3 цифры и хотя бы 1 большой буквы латинского алфавита. Вывести сообщение об успехе/неуспехе проверки валидности.
<?php
echo "<hr>";
if ($_POST['submit']) {
if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))
{
throw new Exception('некорректный адрес');
}
if (strlen($_POST['pass']) < 3)
{
throw new Exception('длина пароля не менее 3х символов');
}
if ($_POST['rpass'] !== $_POST['pass'])
{
throw new Exception('пароли не совпадают');
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<title>Стоп Валидация</title>
</head>
<body>
<form action="" class="form1" method="POST">
<input class="inp" type="text" name="email" placeholder="Email: vasya.pupkin@ukr.net">
<br><br>
<input class="inp" type="password" name="pass" placeholder="Password">
<br><br>
<input class="inp" type="password" name="rpass" placeholder="Repeat password">
<br><br>
<button name="submit">Отправить</button>
</form>
</body>
</html>
Сейчас выдает ошибку, как привязать это к кнопке? (чтоб после нажатия проверялась валидность)
<?php
if (isset($_POST['submit'])) {
if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
if (strlen($_POST['pass']) > 3) {
if ($_POST['rpass'] == $_POST['pass']) {
echo 'все ок!';
// Тут код если валидация пройдена
} else {
echo '<font color="red">пароли не совпадают</font>';
}
} else {
echo '<font color="red">длина пароля не менее 3х символов</font>';
}
} else {
echo '<font color="red">некорректный адрес</font>';
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<title>Стоп Валидация</title>
</head>
<body>
<form action="" class="form1" method="POST">
<input class="inp" type="text" name="email" placeholder="Email: vasya.pupkin@ukr.net">
<br><br>
<input class="inp" type="password" name="pass" placeholder="Password">
<br><br>
<input class="inp" type="password" name="rpass" placeholder="Repeat password">
<br><br>
<button name="submit">Отправить</button>
</form>
</body>
</html>
Скажите пожалуйста, в чем тут ошибка, мне нужна проверка по 2 полях для цены, но в таком варианте как на скрине не работает, страница не загружается,...
Хочу что бы отправляло текущую форму по клику на кнопку, в формах одинаковый классform и кнопки