Вообщем такое дело. У меня в MYSQL есть поле Admin которое равно 0 или 1. 1 это админ. и есть форма входа. Код (Text): <?php // Заключаем форму в php-скрипт для возможности прописівать скрипты прямо в этом файле // вся процедура работает на сессиях. В сессии хранятся данные пользователя, пока он находится на сайте. Запускается сессия в начале странички session_start(); echo " <html> <head> <link rel='stylesheet' type='text/css' href='style.css' /> <title>Форма входа на PHP</title> </head><body>"?> <?php if(isset($_SESSION['login'])) {$login='Здравствуйте, '.$_SESSION['login'].'!';} // Проверяем, пусты ли переменные логина и id пользователя if (empty($_SESSION['login']) or empty($_SESSION['id'])) // Если пусты, то { echo "<p style='margin-left:60px;'>Вы вошли на сайт, как гость</p><br> <!--Подключение обработчика формы--><form id='forma' action='script1.php' method='post'> <h1>Форма входа</h1> <p>Заполните поля для входа на сайт</p> <p>Логин<br /><input type='text' name='login'></p> <p>Пароль<br /><input type='password' name='password'></p> <p><input type='submit' name='submit' value='Войти'> <!--**** Кнопка (type='submit') отправляет данные на страничку script1.php ***** --> <br></p></form><p style='margin-left:60px;'><a href='registration.php'>Регистрация</a></p>"; } else // Если не пусты, то { echo "<br /><br />Вы вошли на сайт, как ".$_SESSION['login']."<br><br />"; echo ('<form action="close.php" method="POST"> <input type="submit" value="Выход"/> </form>'); } echo" </body></html>"; ?> как мне сделать чтобы есть заходи админ его перекидывало в админку ?? и как сделать проверку для доступа админки только админам??? Кода файла Script.php Код (Text): <?php session_start();//вся процедура сверки логина и паролей работает на сессиях. Именно в них хранятся данные пользователя, пока он находится на сайте. Запускать сессию нужно в начале странички header('Refresh: 5; URL=http://lora.in.ua/php-uroki/avtorizaciya/vhod.php'); //redirect с задержкой echo 'Вы будете перенаправлены на главную страницу через 5 секунд.'; //вывод сообщения if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} } //заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную if (empty($login) or empty($password)) //если пользователь не ввел логин или пароль, то выдаём ошибку и останавливаем выполнение скрипта { exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!"); } $login = stripslashes($login);//удаляет экранирование символов, произведенное функцией addslashes() $login = htmlspecialchars($login);//преобразует специальные символы в HTML-сущности (обрабатываем их, чтобы теги и скрипты не работали на случай от действий умников-спамеров) $password = stripslashes($password); //удаляет экранирование символов, произведенное функцией addslashes() $password = htmlspecialchars($password); $login = trim($login);//удаляет пробелы (или другие символы) из начала и конца строки $password = trim($password); // Задаём переменные для подключения к БД $db_host = 'localhost'; $db_user = 'root'; $db_password = ''; $database = 'baza'; // Подключаемся к БД mysql_connect($db_host, $db_user, $db_password); mysql_select_db($database); $result = mysql_query("SELECT * FROM reg_users WHERE login='$login'"); //извлекаем из базы из таблицы зарегистрированных пользователей все данные о пользователе с введенным логином $myrow = mysql_fetch_array($result); if (empty($myrow['password'])) { //если пользователя с введенным логином не существует exit ("<br /><br />Извините, введённый вами login или пароль неверный!"); } else { //если существует, то сверяем пароли if ($myrow['password']== md5( "$password" )){ //если пароли совпадают, то запускаем данному пользователю сессию $_SESSION['login']=$myrow['login']; $_SESSION['id']=$myrow['id'];//эти данные очень часто используются, поэтому сессия запускается с использованием этих данных //Выводим информацию, что пользователь авторизован и снизу ссылку для перехода на главную страницу (можно на любую поставить ссылку) echo "<br /><br />Поздравляем! Вы успешно вошли на сайт! <br /><a href='/php-uroki/avtorizaciya/vhod.php'>Главная страница</a><br /><a href='/php-uroki/avtorizaciya/reg.php'>Регистрация</a>"; } else { //если пароли не совпали, выводим на экран информацию об этом и пользователя не авторизовываем exit ("<br /><br />Извините, введённый вами login или пароль неверный!"); } } ?> Сам в этом не БУМ БУМ. Хелп ми.
По какому учебнику учишься? 1. mysql уже удалён из php. Используй mysqli или PDO. 2. логин и пароль совершенно не требуют тех обработок, которые тут есть. Нужно экранировать символы перед запросом к СУБД - этого тут как раз нет. 3. подставляя строковую переменную в аргумент функции, совершенно не обязательно захватывать её в двойные кавычки. Переменная в строке в двойных кавычках заменяется её строковым значением. То есть "$password" - лишняя нагрузка на создание строки, в которую потом будет скопировано значение переменной. Ты же юзера выбрал из базы, значит тебе доступно поле где ноль-единица. По этому полю и решай, куда сделать редирект. Ну ты же юзера выбрал из базы и даже что-то записал в сессию. На всех "защищенных" страницах проверяй значение нужного поля (в сессии) и если оно не единица - запрещай доступ.
вот это код проверки не могу найти везде пишут про htaccess. Ни по какому учебнику. Нас в колледже ничему не учили, а теперь просят сайт.Поэтому читаю в интернете и пробую.