Здравствуйте. Уже неделю бьюсь и не могу сделать. Искал в Интернете и не нашел подходящего результата, вечно ошибка какая нибудь, на подобие "устаревшая функция" или еще что. Думаю может все же тут помогут профессионалы. Есть два файла Index.php и config.php Index.php Код (Text): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Регистрация</title> <link rel="stylesheet" type="text/css" href="css/style.css" media="all" /> <link rel="shortcut icon" href="/favicon.ico" /> </head> <body> <?php include('config/config.php'); ?> <div id="container"> <form action="thanks.php" method="post"> <h1><span>Регистрация</span></h1> <div class="form"> <input type="text" placeholder="Придумайте логин" name="username" required /> <label for="username">Не менее 4 символа</label> <input type="password" placeholder="Придумайте пароль" name="password" required /> <label for="password">Не менее 4 символа</label> <input type="password" placeholder="Повторите пароль ещё раз" name="r_password" required /> </div> <div class="clear"></div> <input class="submit" type="submit" name="submit" id="submit" value="" /> </div> </form> </div> </body> </html> и config.php Код (Text): <?php $host = "127.0.0.1"; $db_name = "123"; $login = "root"; $password = "**********"; $connection = mysqli_connect( $host, $login, $password, $db_name ); mysqli_query($connection, "SET NAMES 'utf-8'"); ?> Напишите пожалуйста код, как сделать что бы была проверка веденных данных - пароль не менее 4 символа и email корректно вводили. И если можно, по возможности, и как это записать в БД. (БД уже готова. Таблица под название "users" с полями "username" "password" и "email" Буду очень благодарен если подскажите.
Для вас важен сам принцип или сделать за вас?))) Добавлено спустя 16 минут 56 секунд: и так: Код (Text): if ("проверка отправки формы") { //Если форма отправлена выполняем действия по проверке длины или на наличие запрешенных символов в пароле if ("наш пароль" >= 4 & "наш пароль" <= 15) { //на наличие запрешенных символов в пароле //для этого пользуйтесь регуляркой if (preg_match('#[A-Z]#', $pass) and preg_match('#[a-z]#', "наш пароль") and preg_match('#\d#', "наш пароль")) { echo 'пароль верен'; //Вот тут уже заносим пароль в БД } else { echo 'пароль должен содержать хотя бы: один заглавный символ, строчный символ, цифру.'; } } } наподобие делается и проверка введенного e-mail. Только найдите регулярное выражение для него и все дела)
if (sizeof($pass)<4){echo 'Пароль должен быть длиннее 3 символов'; }; Если, конечно, пароль не в UTF-8 кириллице. Тогда надо другую функцию юзать, mb_strlen . А на эту тему есть разные варианты. От мудреных регекспов до банальной надписи "email будет использоваться для восстановления пароля". Вариант с надписью, кстати, самый экономичный и весьма эффективный. Философия проста - если пользователь не хочет писать корректный мейл, он и так его не напишет. Напишет что-то, что для регекспы будет выглядеть как мыло - fake@fake.com. Вот и все. Если же пользователь заинтересован в сайте и в том, чтобы, в случае чего, он мог восстановить парольку, он непременно напишет 100% настоящий адрес. Итого: первые все равно не нужны, ну и нафиг их, с их мусорными мылами. Семи себе буратины. Вторые нужны, и они сами заинтересованы в корректно указанном адресе.
Интернетовским Добавлено спустя 9 минут 12 секунд: Интернетовским Сейчас мне немного удалось подправить код. Меня интересует что бы пароль и логин был не менее 4 символа. И что бы в них нельзя было указывать запрещенные символы. Вот вы показали пример, но что то не получается. Покажите поточнее пожалуйста. Вот мой код Код (Text): <?php if(!empty($_POST['username'])) //проверяем не отправили -ли пустое поле { $username = $_POST['username']; } else { echo '<h14><span>Поле "Логин" должн быть не менее 4 символа. Пожалуйста, вернитесь назад...</span></h4>'; //если поле окажется пустым , то выводим сообщение об ошибке exit(); //останавливаем скрипт } if(!empty($_POST['password'])) //проверяем не отправили -ли пустое поле { $password = $_POST['password']; } else { echo '<h4><span>ППоле "Пароль" должн быть не менее 4 символа. Пожалуйста, вернитесь назад...</span></h4>'; //если поле окажется пустым , то выводим сообщение об ошибке exit(); //останавливаем скрипт } if($_POST['r_password'] == $_POST['password']) //проверяем соответствует ли пароль и повторный его ввод { $r_password = $_POST['r_password']; } else { echo "<h4><span>Пароль не совпадает. Пожалуйста, вернитесь назад и исправте...</span></h4>"; // если введены разные пароли выводим ошибку exit(); //останавливаем скрипт } echo $username.'<br>'; echo $password.'<br>'; echo $r_password.'<br>'; ?> Благодарю вас за ответ. Спасибо.