От автора: рано или поздно каждый веб-разработчик сталкивается с задачей по ограничению доступа к некоей странице/страницам или каталогу. Это может быть просто секретная страница на сайте, административная часть сайта или любой другой раздел, доступ к которому мы хотим ограничить и предоставлять только по паролю. Для этого можно, конечно же, воспользоваться средствами сервера. Думаю, на любом современном хостинге есть функция паролирования директории, где можно создать пользователя, назначить ему пароль и, после паролирования директории, доступ к закрытому каталогу будет предоставлен только после правильного ввода логина и пароля. Но иногда хочется написать что-то самому, что-то быстрое, простое, но вместе с тем — надежное…
В этом уроке мы попробуем написать свою простую систему авторизации. У нас будет секретная страница — допустим, это будет страница администратора, доступ к которой мы будем предоставлять только для авторизованного пользователя. Наша система авторизации будет основана на работе механизма сессий. Перед продолжением этого урока я рекомендую Вам ознакомиться с одним из предыдущих своих уроков, в котором мы, в частности, рассматриваем работу сессий — //webformyself.com/kak-opredelit-ip-adres-polzovatelya/.
Время ролика: 31:32
Ссылка для скачивания исходников: Скачать исходники
Ссылка для скачивания всего архива (видео+исходники): Скачать одним архивом. Размер: 47.7 mb.

Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Вкратце всю работу с сессиями можно разделить на 3 этапа:
Открытие сессии. На всех страницах, где подразумевается работа с сессиями, обязательно должен быть осуществлен старт сессии функцией session_start().
Регистрация сессионных переменных.
Разрегистрирование сессионных переменных при помощи функции unset() и закрытие сессии функцией session_destroy().
Шаг 1
Итак, для нашей работы создадим 3 файла — Главная страница (index.php), Контакты (contact.php) и Админка (admin.php). Обращаю внимание на то, что расширение файла, к которому мы будем ограничивать доступ должно быть .php. Как Вы догадались, ограничивать доступ мы будем к файлу admin.php. Код всех файлов самый простой — это своеобразное меню в строку со ссылками на другие страницы, и под ним индивидуальный текст каждой страницы, чтобы мы могли отличать их друг от друга. Вот, к примеру, код индексной страницы:
1 2 3 | <p><a href="index.php">Главная</a> | <a href="contact.php">Контакты</a> | <a href="admin.php">Админка</a></p> <hr /> Это главная страница |
Остальные страницы, как я сказал, отличаются от нее только текстом после тега линии. Я не стал делать полноценные страницы с мета-тегами, поскольку наша задача состоит только в ограничении доступа к некоей странице.
Шаг 2
Пока что мы свободно можем ходить по всем страницам, включая страницу админки. Как же мы ограничим к ней доступ? Каков вообще будет алгоритм? Мы будем делать следующее: в самом начале страницы мы будем проверять, есть ли нужная нам метка в сессии или, проще говоря, существует ли определенная сессионная переменная (также можно проверять равно ли значение сессионной переменной определенному значению). Если такой переменной нет, значит пользователь, запрашивающий эту страницу, не авторизован, а значит мы осуществим его редирект на страницу авторизации, где ему будет предложено заполнить форму с именем и паролем. Алгоритм предельно прост — реализуем его. Переходим к файлу admin.php, открываем в самом верху конструкцию PHP и напишем такой код:
1 2 3 4 5 6 7 8 | <?php session_start(); if(!$_SESSION['admin']){ header("Location: enter.php"); exit; } ?> |
Давайте теперь прочитаем это код. Во-первых, мы открыли сессию, как Вы помните — это обязательное условие при работе с сессиями. Далее, мы создали простое условие, которое можно прочитать так: «если в массиве $_SESSION не существует элемента admin — будем выполнять блок действий, заключенный в операторные скобки». А в блоке кода мы при помощи функции header() производим редирект пользователя на страницу enter.php (это страница авторизации). После функции header() обязательно завершаем выполнение скрипта при помощи функции exit(). Если же условие не выполнится, т.е., в массиве $_SESSION будет элемент admin — это значит, что пользователь уже успешно авторизован, и мы пропустим блок действия в операторных скобках, т.е., никакого редиректа происходить не будет, и мы покажем запрошенную страницу.
Шаг 3
Теперь нам нужно создать страницу авторизации — enter.php. Для этого скопируем код, к примеру, страницы contact.php, создадим новый файл и вставим в него скопированный код. Файл сохраняем под именем enter.php. Теперь на этой странице напишем простенькую форму для ввода логина и пароля:
1 2 3 4 5 6 7 8 9 | <p><a href="index.php">Главная</a> | <a href="contact.php">Контакты</a> | <a href="admin.php">Админка</a></p> <hr /> Это страница авторизации. <br /> <form method="post"> Username: <input type="text" name="user" /><br /> Password: <input type="password" name="pass" /><br /> <input type="submit" name="submit" value="Войти" /> </form> |
Здесь все просто. В форме 2 поля: поле для ввода логина (ему мы дали имя «user») и поле для пароля (с именем «pass»). Также мы создали кнопку (имя «submit»), по нажатию на которую будут отосланы данные из формы. Данные отсылаются методом post — это мы указали в атрибуте method тега form — и будут обработаны на этой же странице. Теперь мы можем попробовать зайти на страницу админки. Если все сделано без ошибок — мы туда попасть не сможем, а неизменно будем оказываться на странице авторизации.
Замечательно!
Шаг 4
Далее нам нужно написать на странице с формой ее обработчик, который будет принимать данные из формы и сравнивать, совпадают ли логин и пароль из формы с теми, которые есть у нас. Для этого откроем вверху страницы авторизации конструкцию PHP и начнем писать код. Для начала мы должны открыть сессию — ведь именно здесь мы будем создавать метку в сессии, если получены верные логин и пароль. На этой же странице мы будем хранить логин и пароль администратора. Обычно эти данные хранятся в базе данных (БД), но у нас будет только 1 пользователь (администратор), а потому хранить его данные для входа в БД не совсем рационально. Если же пользователей будет не один, т.е., мы, к примеру, пишем проект, в котором имеется регистрация, то, конечно же, без БД в таком случае обойтись будет сложно.
Итак, наш логин будет «admin» и хранить мы его будем в переменной $admin. Пароль будет «mypass» и он будет храниться в переменной $pass. Но хранить пароли в открытом виде не принято — это противоречит принципам безопасности. Хранить пароль мы будем в зашифрованном виде, а зашифровать его нам поможет функция md5(). Эта функция шифрует строку по специальному алгоритму, и на выходе мы получаем строку из 32 символов (ее называют хеш). Если мы зашифруем строку «mypass» (это можно сделать, например, в файле contact.php):
1 2 3 | <?php echo md5('mypass'); ?> |
то на выходе получим строку «a029d0df84eb5549c641e04a9ef389e5″ — это и будет наш зашифрованный пароль. Пока что код страницы авторизации будет таким:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php session_start(); $admin = 'admin'; $pass = 'a029d0df84eb5549c641e04a9ef389e5'; ?> <p><a href="index.php">Главная</a> | <a href="contact.php">Контакты</a> | <a href="admin.php">Админка</a></p> <hr /> Это страница авторизации. <br /> <form method="post"> Username: <input type="text" name="user" /><br /> Password: <input type="password" name="pass" /><br /> <input type="submit" name="submit" value="Войти" /> </form> |

Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!Шаг 5
Теперь проверим то, что мы получили из формы с тем, что у нас есть в переменных с логином и паролем. Делать это мы будем по условию — только в том случае, если нажата кнопка формы. Как мы можем это проверить? У кнопки есть имя («submit»), а данные мы передаем методом post. Соответственно, мы можем просто проверить, существует ли элемент submit в массиве $_POST. Если есть — кнопка была нажата, и мы будем выполнять действия по проверке присланных данных, иначе — ничего делать не будем. После объявления логина и пароля пишем условие:
1 2 3 4 5 6 7 | if($_POST['submit']){ if($admin == $_POST['user'] AND $pass == md5($_POST['pass'])){ $_SESSION['admin'] = $admin; header("Location: admin.php"); exit; }else echo '<p>Логин или пароль неверны!</p>'; } |
Условие по проверке логина и пароля мы сделали как бы двойным. Сделано это при помощи логического оператора AND (его также можно записать таким образом — «&&»). Условие можно прочитать так: «если(переменная $admin равна элементу user в массиве $_POST И переменная $pass равна хешу элемента pass в массиве $_POST) то {выполняем блок действий}else выводим на экран текст ‘Логин или пароль неверны!’
Если же пара логин-пароль совпадает, то мы регистрируем сессионную переменную $_SESSION['admin'] и перенаправляем пользователя на страницу админки — admin.php.
Попробуем теперь протестировать то, что мы уже создали. Если мы введем заведомо ложные логин и пароль, то получим предупреждающее сообщение, что «Логин или пароль неверны!». Попробуем теперь ввести правильные данные для входа. Если мы нигде не ошиблись, то после нажатия на кнопку «Войти» мы окажемся на странице админки.
Отлично!
Шаг 6
Теперь осталось дописать некоторые мелочи. К примеру, мы сейчас авторизованы в системе, но если мы введем в адресной строке адрес страницы авторизации, то спокойно попадем на нее и увидим форму авторизации. Такого быть не должно — форму должен видеть только неавторизованный пользователь. Как мы можем исправить это? Помним, что на странице admin.php мы проверяли, есть ли метка в сессии. Если ее нет — мы переводили пользователя на страницу авторизации. Здесь мы можем сделать то же самое, только наоборот. Т.е., мы также проверяем, есть ли метка в сессии. Только теперь мы будем переводить пользователя на страницу админки, если такая метка есть. Это, в принципе, логично. Если есть метка, значит пользователь уже авторизован, и мы его можем перевести на страницу админки. На странице enter.php после старта сессии допишем такой код:
1 2 3 4 | if($_SESSION['admin']){ header("Location: admin.php"); exit; } |
Теперь если авторизованный пользователь попробует ввести в адресную строку имя страницы авторизации — он будет переведен на страницу админки. Не авторизованный пользователь же сможет свободно попасть на страницу авторизации.
Шаг 7
Следующий момент, который нам нужно предусмотреть — это реализация выхода авторизованного пользователя, т.е., допустим, администратор закончил свою работу и ему нужно выйти, чтобы никто посторонний не смог работать под его учетной записью. Для этого добавим на странице admin.php ссылку «Выход». Ссылка будет вести на эту же страницу, только к ней будет добавлен нужный нам параметр. Параметр добавляется при помощи вопросительного знака:
1 | <a href="admin.php?do=logout">Выход</a> |
Эту ссылку можно поставить в том месте, в котором нам нужно — я поставлю ее после текста страницы. Относительно параметра — он будет передан методом GET (вспоминаем, что из формы мы передавали данные вторым параметром — POST). При использовании этого метода данные присоединяются к адресу в адресной строке и отделены от адреса как раз вопросительным знаком. Мы передаем один параметр — do — и при этом присвоили ему значение «logout». Как теперь мы можем разавторизовать пользователя? Очень просто — здесь нам помогут второй и третий этапы при работе с сессиями. При загрузке страницы мы можем проверить значение элемента do из массива $_GET. Если оно будет равно строке «logout» — мы просто разрегистрируем сессионную переменную $_SESSION['admin'] и разрушим сессию. Соответственно, метки в сессии после этого не будет и в следующем блоке, где мы проверяем наличие метки, пользователь будет перенаправлен на страницу авторизации. Все просто.
Итак, на странице admin.php допишем условие после старта сессии (до проверки наличия метки):
1 2 3 4 | if($_GET['do'] == 'logout'){ unset($_SESSION['admin']); session_destroy(); } |
Теперь можно попробовать перейти по ссылке «Выход». После выхода мы окажемся на странице авторизации и увидим форму для авторизации. Попасть теперь на страницу админки мы не сможем, пока не авторизуемся.
Шаг 8
И последний штрих. Мы можем ограничивать доступ не только к странице админки, но и к любой другой. Для этого достаточно открыть сессию и проверить наличие метки в ней. Чтобы не копировать на каждую новую страницу эти блоки кода — мы их можем вынести в отдельный файл (auth.php) и затем просто подключать этот файл на страницах, к которым нужно ограничить доступ по паролю. Содержимое файла auth.php будет таким:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php session_start(); if($_GET['do'] == 'logout'){ unset($_SESSION['admin']); session_destroy(); } if(!$_SESSION['admin']){ header("Location: enter.php"); exit; } ?> |
Теперь вместо этой конструкции мы в файле admin.php просто подключим файл auth.php:
1 2 3 | <?php require "auth.php"; ?> |
И на любой странице, к которой мы хотим ограничить доступ, теперь достаточно будет подключить этот файл таким способом.
Заключение
На этом наш урок завершен, мы выполнили поставленную в уроке задачу — написали свою простенькую систему авторизации. Конечно, как говорилось выше, для серьезных проектов такая система авторизации мало подходит, поскольку пользователей у нас может быть больше одного и хранить их нужно в БД. Да и шифрование пароля функцией md5() часто также бывает неэффективно, поскольку существуют сервисы с базами хешей… но для нас главное было понять принцип построения системы авторизации, а строится она именно по такому принципу. Итак, урок окончен. До новых встреч.
Автор: Кудлай Андрей
Редакция: Рог Виктор и Андрей Бернацкий. Команда webformyself.
E-mail: contact@webformyself.com

Бесплатный курс по PHP программированию
Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC
В курсе 39 уроков | 15 часов видео | исходники для каждого урока
Получить курс сейчас!
Разработка веб-приложения на PHP
Создайте веб-приложение на PHP на примере приема платежей на сайте
Смотреть
Мы плавно перешли на PHP…МНЕ ЭТО BASIC напомнило. Урок действительно полезный.Тяжело конечно всё это сразу усвоить,но-уже «взялся за гуж»…..
С интересом познакомился с вашей работой, Андрей! Как раз вовремя, сегодня я намечал создать закрытую категорию для своего клуба «Новички в интернете». И хоть ваш код применить не удастся, а алгоритм теперь понятен как ясный день. Благо дарю вам!
Василий Сенченко, проект «Сайт — за 12 часов!»
Можно ли ограничить доступ к Например коментариям или скачиванию файлов? Извените Только прочитал, еще не пробовал.
да можно. так же условием проверять блок с комментариями:
Спасибо уже пробую.
Можно, но как, подсазать не могу, я не знаю как вы сделали
Хорошая статья: все четко и ясно.
Огромное спасибо за ваш труд! Статья отменная, все доступно и ясно.
Успехов вам в вашем благородном деле.
Спасибо,ребята!Очень полезные уроки,так держать.
Андрей, очень полезный и нужный контент.
Спасибо за чёткую и ясную подачу материала.
Спасибо за уроки ВМЕНЯ пК ЗАРАБОТАЛ СПЕШУ ВСЕ СФАТИТЬ .
УСПЕХОВ ВАМ И ВСЕГО ХОРОШЕГО!!!
Спасибо, вам огромное за урок и вашу рассылку, мне очень нравиться! Очень,много полезного и важного.Желаю Вам удачи и больших Успехов! С Уважением Людмила.
Спасибо большое за урок, все понятно объясняете, удачи и развития вашему проекту)
спасибо помогли
Отличный урок. Благодарю за предоставление информации. Действительно необходимый и интересный урок, больше того, на мой взгляд, очень доступный для осознания и применения.
Цитата: «Обращаю внимание на то, что расширение файла, к которому мы будем ограничивать доступ должно быть .php.»
спасибо за урок, это единственная полезная инфа, которую мне удалось найти по авторизации. А как можно сделать авторизацию к файлам .xls, чтобы прайс-листы могли скачивать только авторизованные пользователи.
Самый простой вариант — это помещать ссылки на файлы XLS на странице, доступ к которой имеют только авторизованные пользователи. Также можно эти ссылки помещать в блок, на любой странице, но показывать этот блок мы опять же будем только авторизованным пользователям, т.е., по условию: если метка в сессии есть — показываем блок, иначе — пропускаем его.
Остальные варианты будут посложнее.
Спасибо за совет, прийдется так и сделать, других вариантов все равно я не знаю.
Да статья действительно хорошо растолкована. Для новичков будет полезна, чтобы понять основные принципы авторизации. Но как Вы сказали, для серьезных проектов это не подойдет!
- Да, довольно таки, мне понравилось! Доступно рассказали, очень логичное рассуждение… Только, я хотел бы, чтобы поподробней рассказали, как создавать «базы данных» для серьёзных проектов… Момент! А ещё, очень хотелось бы узнать как можно сделать тоже самое, только через «javascript» и как ещё, свою форму, можно модифицировать в разных вариациях. К примеру: Как правильно, с генерировать код, чтобы он save-лся на какой-люби массив т.е.либо сервер, база данных, пч.ящик и др. резервуары для сохранения данных о user-e, и очень интересно, ещё если бы вы рассказывали в своих «видео-экскурсиях». Как правильно, сочетать таблицы:CSS — допустим, с той же простенькой формой, для проекта.ОЧЕНЬ ИНТЕРЕСНО!!!
Ого сколько пожеланий
Отвечу на некоторые вопросы… На JavaScript такое не делается, точнее, сделать-то можно, но не нужно, поскольку это будет защитой только от новичков. JavaScript ведь, в отличие от PHP, язык клиентский, а, соответственно, клиент (т.е. пользователь) сможет легко увидеть исходный код и пароль в нем… с использованием PHP это невозможно, поскольку интерпретатор отдает клиенту только результат выполнения серверного кода. По поводу создания и работы с базами данных, то в ряде своих уроков я освещал эти вопросы.
А вообще, все еще впереди… Оставайтесь с нами
Полезная статья, жаль, что на народ не поддерживает динамические страницы. Автор, жжёшь! Спасибо!
В уроке промелькнула галерея картинок. Так вот хотелось бы посмотреть как такую создать, а урока найти не могу. Где он?
Скоро Вы увидите этот урок, а также много других не менее полезных. Терпение мой друг.
Это действительно единственная толковая в русском интернете статья по авторизации. А будут ли уроки по MySQL?
Да будут. В планах сделать курс.
Отличный урок. Благодарю за предоставление информации. Но есть несколько вопросов: как сделать так что б пароли и логин хранились в БД? Что если логинов не один а несколько?
Пожалуйста
Сделать так, чтобы авторизационные данные хранились в БД совсем не сложно. В ближайших планах запись урока по созданию полноценной системы регистрации + авторизации, которая будет включать в себя:
— работу с БД;
— защиту от автоматической регистрации;
— возможно распределение ролей и др.
ждем с нетерпением ))
давно искал такую информацию.спасибо.это позволит иметь больше постоянных посетителей.
Замечательная статья — спасибо огромное.
Возник вопрос: а если полностью аналогичная система авторизации будет на другом домене и логин админа будет тот же, то не пустит ли авторизированного пользователя со второга домена в админку на первом автоматически ?
Нет, конечно. Файлы сессий хранятся на сервере и файл сессии сервера 1 (домена) не будет никоим образом касаться файла сессии (если он существует) на сервере 2.
спасибо большое
а то у меня сомнения закрались и решил уточнить
Пожалуйста
а как все это сделать на одной странице, без переходов.
Например если сессия активна вывести сообщение, добавить кнопку выход и убрать форму. при нажатии на выход возвращать эту же страницу и закрыть сессию
Спасибо!
С уважение, Алексей
Вы уже сами практически ответили на свой вопрос — «если сессия активна вывести сообщение, добавить кнопку выход и убрать форму».
Все делается на одной странице посредством условий. Изначально проверяется установлена ли сессия. Если не установлена — показывается форма авторизации, иначе — форма прячется и показывается содержимое для авторизованного пользователя.
У Вас если сессия active — if($_SESSION['admin']){
header(«Location: admin.php»);
exit;
а если не active -
if(!$_SESSION['admin']){
header(«Location: enter.php»);
exit;
}
а как сделать мне !! help pliz =)
а как правильно это реализовать??
а то чет у меня не получается
Помоги пожалуйста !!!
Думаю, Вы и сами прекрасно должны понимать, что решать подобные вопросы в рамках комментариев — довольно сложно и крайне неудобно. У нас естьфорум , регистрируйтесь там и задавайте свой вопрос.
Хорошая полезная статья.
Привет.
Спасибо за полезные уроки.
Вот только не получается что то, после ввода правильного пароля выдает
Warning: Cannot modify header information — headers already sent by (output started at Z:\home\[имя сайта].local\www\admin.php:20) in Z:\home\[имя сайта].local\www\blocks\enter.php on line 11
пробую на денвере
Подскажи плз, что не так.
Заранее спасибо.
Привет!форуме , выложите в архиве файлы и подскажем конкретнее что не так.
Возможно несколько вариантов:
1) файлы сохранены в кодировке utf-8 with BOM… в таком случае их нужно пересохранить в кодировке utf-8 without BOM
2) до редиректа есть вывод в браузер (перенос строки или пробел) — их быть не должно.
Создайте тему на нашем
то же самое вышло.париться не стал,сразу на сервер(сайт) закинул.и там уже заработало.
Большое вам СПАСИБО за такую полезную и понятную статью!Вы мне очень помогли!
Не менее большое пожалуйста
Отличный урок, заходил на другие сайты, но там написаны конструкции, которые начинающему вебразработчику не понятны, а Вы действительно сделали отличную статью, в которой все грамотно и понятно.
Спасибо большое!!!
Пожалуйста)
а что делать если постоянно выдает ERR_TOO_MANY_REDIRECTS куки не при чем
Нужно исправить неточность в коде, влекущую за собой данную ошибку. Чтобы найти эту неточность, нужно смотреть код. На нашем форуме можете создать тему, прикрепить исходники в архиве и попробую помочь.
Сервер ругался на GET запросы. (Может только у меня?)
Проблема для меня была решена проверкой наличия переменной:
if(isset($_GET['do']) and $_GET['do'] == ‘logout’){
unset($_SESSION['admin']);
session_destroy();
}
Может и не то но работает, а автору спасибо
Пожалуйста
Каталог товаров. Контроль ошибок .
Все верно Вы сделали MissMarco. У Вас сервер настроен показывать не только ошибки, но и уведомления (Notice). Исправить это можно отключением показа уведомлений или проверкой на инициализацию переменной перед обращением к ней, что, собственно, Вы и сделали функцией isset(). Первый же вариант (с отключением уведомлений) можно посмотреть в этом уроке —
Отличный урок Андрей)
У меня вот вопрос:
как сделать В форме авторизации, функцию Запомнить меня.
Чтобы Логин и Пароль пользователя сохранялся.
Неудобно постоянно вводить пароль и логин при каждом входе.
Для этого, кроме механизма сессий, также используют куки. В куках сохраняется метка о том, что пользователь уже авторизовывался. Затем идут проверки: вначале проверка есть ли метка в сессии об авторизации пользователя. Если такой метки нет, тогда запрашивается кука. Если кука с нужным значением есть, значит пользователь считается авторизованным. Для него открывается сессия и дальше все, как в уроке.
Если интересует вариант в коде, то чуть позже запишу такой урок, скорее всего это будет в рамках цикла уроков Каталог товаров.
Очень даже интересует)
Буду ждать урока))
Договорились
Notice: Undefined index: submit in C:\xampp\htdocs7\enter.php on line 9 но всё работает,странно что ему не нравится
c isset заработало,вы лучшее учителя земляки))
Да, это вариант решения проблемы
Каталог товаров. Контроль ошибок .
Еще один вариант решения можно посмотреть в уроке
Андрей, большое спасибо за статью! Это действительно стоящий материал (если базы данных не нужны). Но у меня есть сомнение. Ведь пароль администратора хранится в файле enter.php, пусть и в зашифрованном виде. Что мешает взломщику скачать этот файл с сайта и дешифровать пароль? Спасибо.
Мешает тот факт, что сервер не отдает файлы PHP на скачивание. Если бы было иначе, тогда можно было бы легко скачать любой сайт и взломать его. Поэтому скачать этот файл не получится.
Спасибо! Теперь я спокоен и можно приступать в использованию данного примера
Было бы неплохо осветить теперь урок как на админ страничке возможно править и сохранять другие php-странички, а также закачивать файлы (например картинки) на сайт
Пожалуйста
А уроки и курсы по созданию CMS и загрузке файлов у нас есть на сайте.
Доброе время суток.
Помогите пожалуйста мне нужно авторизацию из сайта войти в ispmanager
отправляю скрипт, почему-то не работает? не переходит на ссылку авторизации..
Логин
Пароль
ВЧЕМ ГРАБЛИ???????????
Спасибо!
Тупой копипаст, 5 минут на прочитать как куда что и зачем, еще 3 минуты на отредактировать и докопипастить в нужные места и… всё — всё работает.
Еще раз спасибо за простоту объяснений и рабочий код без необходимости правок.
Благодарю, статья ооочень понятная, 10 минут хватило, чтобы во всё врубиться)
Добрый день, спасибо за работу, все работает. Но интересует вот такой вот вопрос, как сделать что бы при нажатии на кнопку «Войти» , при правильных данных , переход был автоматическим? Сейчас при нажатии на кнопку , ничего не происходит, но только я перезагружаю страницу, сразу загружается страница «Админа».
Здравствуйте. Так переход и есть автоматический. В случае успешной авторизации происходит редирект со страницы enter.php на страницу admin.php, это делает следующая строка кода: header(«Location: admin.php»); Если у Вас этого не происходит, значит где-то в коде есть неточность. Сравните Ваш код с кодом исходников.
Спасибо огромное! Вот если бы все статьи были такими точными и понятными.