Проверка авторизации пользователя

Допустим ваш пользователь уже прошел процедуру регистрации. Теперь при вводе им логина и пароля вам нужно проверить, есть ли такая запись в таблице пользователей вашего сайта и сделать вывод о достоверности введенных им данных.

public function login($login,$password) {
        $this->sql_execute("SELECT * FROM ogogocms_users WHERE login='$login' AND pass='".md5($password)."'");
        if (mysql_num_rows($this->sql_res)==1) {
            return true;
        }
        else {
            return false;
        }
    }

Важно! Прежде чем передавать в эту функцию $login, его необходимо проверить на валидность, например функцией, которую я описывал в функции регистрации - login_check(). Переменную $password проверять незачем, потому что при запросе в БД мы используем md5(), которая возвращает хэш от введенного пароля, который безопасен по определению.

Надеюсь вы понимаете, что хранить пользовательские пароли в открытом виде небезопасно и не этично? :) То есть в базе данных должны храниться только хэши паролей. (md5, sha1 и т.п.) Особо параноидальные кодеры делают комбинации функций хэширования, а также примешивают так называемую "соль", то есть случайную последовательность, закрепленную за каждым пользователем при регистрации. В простейшем случае этого делать не обязательно, однако в случаях работы с cookie это критично.

Итак, в качестве аргументов мы получили логин и пароль, введенные через форму на сайте. После выполнения проверки логина делаем sql запрос в БД и проверяем наличие строки с такими значениями. В качестве проверки я использую количество строк, которые вернул MySQL - если одну, значит все в порядке, пара логин-пароль найдена в базе, а значит пользователь ввел корректные данные и ему можно дать доступ.

После такой проверки информацию о пользователе лучше всего положить в php-сессию, например $_SESSION['user_id'] или любым другим, удобным вам способом. В случае отсутствия пары логин-пароль в базе нужно сообщить пользователю о некорректно введенном пароле и вообще действовать по обстоятельствам :)