[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Улучшение кода
Страницы: 1, 2, 3, 4, 5
Astin
Одни могут запариться и поставить пробел, а потом войти не могут, Но
для этого есть восстановление пароля. И то что запарился это дело случая

А если юсер хочет чтоб в пароле был пробел, а ты берешь и удаляешь его,а
а он войти не может в Личный кабинет и опять к восстановлению

Первое получается это дело случая, когда просто напросто юсер запарился

Второе получается что ты как будто специально начинаешь делать препятствия
sg.com
Цитата (Astin @ 15.05.2016 - 23:27)
Это уже скорее проблема юсера, запарился тогда иди на восстановление пароля

добавлю пару слов к фразе: это проблема ушедшего с ресурса юзера...
то есть в итоге проблемы не у юзера а администрации сайта.
Цитата (Astin @ 15.05.2016 - 23:32)
А если юсер хочет чтоб в пароле был пробел, а ты берешь и удаляешь его,а
а он войти не может в Личный кабинет и опять к восстановлению

имеет ли это место в реальности, для большинства пользователей "пробел" не является символом а просто пустотой, то есть ничем, для программиста он конечно символ.
Цитата (Astin @ 15.05.2016 - 23:32)
Первое получается это дело случая, когда просто напросто юсер запарился

Второе получается что ты как будто специально начинаешь делать препятствия

первое, это упрощение использования сервиса регистрации на сайте для небольшого количества пользователей, случайно зацепивших "пробел",
второе - устранение неоднозначности пароля, в большинстве своем из меньшинства тех, кто использует "пробелы" в паролях, - вполне способны догадаться повторить "вход" по паролю без "пробела".

не помню за собой ни одного пароля с пробелами? кто такое практикует?
Astin
Цитата
второе - устранение неоднозначности пароля, в большинстве своем из меньшинства тех, кто использует "пробелы" в паролях, - вполне способны догадаться повторить "вход" по паролю без "пробела"


Вот на счет догадаться это уже увы....

sg.com я с тобой спорить не буду, пусть каждый делает так как хочет
и последствия после "как хочет" решает тогда сам

Я так понял у ТС всего два поля в авторизации Логин и Пароль

Я бы примерно так написал имхо
<?php
session_start();

//Соль пароля, при регистрации тоже добавляем эту же соль
define('SALT', 'Ghyt&7fyfhHmk8@');

//Подключаемся к БД
include 'bd.php';

if (isset($_POST['login'])) // Если логин передан
{
// Задаем переменные
$login = htmlspecialchars($_POST['login']);
$password = $_POST['password'];

//////////////////////////////////////////////////////
// Проверяем на ошибки заполнения

//Массив для ошибок

$erors = array();

$res = mysql_query("SELECT COUNT(*)
FROM `users`
WHERE `login` = '"
.escapStr($login)."'
AND `password` = '"
.md5($password.SALT)."'");

if (mysql_result($res, 0) == 0)
$erors[] = 'Неправильный Логин или пароль';

//Тут что то делаем с попытками авторизации

//Если есть ошибки показываем

if (count($erors))
{
echo implode("<br/>",$erors);
}

if (!count($erors)) // Если нет ошибок
{
// Опять Сравниваем введенный логин и пароль

$res = mysql_query("SELECT *
FROM `user`
WHERE `login` = '"
.escapStr($login)."'
AND `password` = '"
.md5($password.SALT)."'
"
);

if(mysql_num_rows($res) > 0) // Если такие существуют
{
// Запоминаем юсера в сессию
$_SESSION['sid']= mysql_fetch_assoc($res);
}

// Здесь перенапровляем юсера в кабинет или показываем сообщение типа
echo 'Привет '.$_SESSION['sid']['login'];

}
// Закрываем сессию
session_write_close();


Ну вот, что то вроде вот такого
_
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.