Здравствуйте, есть такая проблема, что мне необходимо, чтобы поле <input type="text"> было обязательно заполнено. Код (PHP): echo ' <form method="POST"> <input type="text" value="'.$login.'" name="login"> <input type="submit" name="submit"> </form>'; if(isset($_POST['submit'])) { if(!isset($_POST['login'])) { echo "Логин не может быть пуст"; exit; } Дальше там mysql запрос идет, думаю, это не нужно. В общем моя проверка не проходит, он вставляет в бд тупо пустое значение, этого нельзя допустить. Атрибут required у <input> не предлагать, т.к. легко обходится через исходный код. PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
Спасибо, сейчас попробую. Добавлено спустя 1 минуту 51 секунду: Огромное спасибо, все работает. Как я только раньше её не заметил
а если человек хочет чтоб у него пароль содержал пробел справа или слева он его введёт, функция при обработке его порежет и пользователь потом будет безуспешно пытаться авторизоваться с пробелом в пароле как в таких случаях поступать ?
не отрезать от пароля ничего, если он не длиннее ХХ символов (включая соль), которые уже не может перевать функция хеширования.
Обломается такой человек. Но скорее всего он даже не узнает об этом, если его пароль не из одних пробелов состоит. Меня за*бывает когда я копирую логин или пароль откуда-то, выделив слово двойным кликом. А оказывается, что выделилось и скопировалось вместе с последующим пробелом. Есть такая фишка у текстовых полей ввода. На слишком умных сайтах это приводит к боли. Добавлено спустя 17 минут 4 секунды: Хотите прикол? Это напрямую к паролям не относится, просто про пробелы и нежданчики. Обратите внимание на пробелы: Код (PHP): INSERT INTO `test`(`name`) VALUES('qwerty ') и потом Код (PHP): SELECT * FROM `test` WHERE `name`='qwerty' Как думаете, выведется что-нибудь? А если проверить? Как по мне, этого достаточно, чтобы пользоваться trim. Добавлено спустя 24 минуты 31 секунду: Теперь нормальный вроде бы код, который должен выдавать запись с "1" когда логин и пароль введены верно или пусто когда неверно: Код (PHP): $result = $db->query( "SELECT 1 FROM `users` WHERE `login`=? AND `password`=?", [$login, md5($password)] ); if ($db->num_rows() > 0) { ... } А сейчас кто-то сильно напугается — входим как админ не зная его пароля