Что вы набросились: видно же что человек - учится. Проще: объяснить как сделать правильно.
<?php
session_start();
function validfilter($value,$regexp,$flags='usi') {
if (preg_match('/'.$regexp.'/'.$flags, $value,$result) && $result[0]==$value) return $value;
else return false;
}
$login=validfilter($_POST['login'],'^([A-Za-z0-9-_]{3,32})$');
$password=validfilter($_POST['password'],'^([A-Za-z0-9-_]{3,32})$');
/*
$_SESSION['user']['auth'] - флаг: авторизован или нет,
проверяется для всех пользовательских запросов
*/
$_SESSION['user']['auth']=0; //разлогиниваем!
if ($login && $password) {
// подключаемся к базе
include_once("bd.php");
//SALT - "соль", храним в bd.php как константу: define("SALT","изменить на свою строку");
//проверяем, что логин и пароль - совпадают и результат не пустой.
$sql = 'SELECT 1 FROM `users` WHERE `login`="'.$login.'" AND `password`="'.md5($password.SALT).'"';
$result = mysql_query($sql,$db);
if (!$result) die('MySQL Error: ' . mysql_error());
else ($result && mysql_fetch_assoc($result)) $_SESSION['user']['auth']=1; //авторизуем
}
}
if ($_SESSION['user']['auth']===1) header('Location: cabinet.php'); //переходим в ЛК
else header('Location: login.php'); //страница с формой входа