-
Урок 2. Конструктивный подход. Описание процедуры авторизации.
Июнь 14th, 2008 66 КомментариевКак только вы возьметесь за написание какого-либо скрипта или фрагмента кода, вы непременно встретитесь со многими трудностями, многое введет вас в заблуждение, что то не сразу получиться. Чтобы избежать ошибок советую Вам не торопиться, уроки по php, которые я буду публиковать Вам обязательно помогут.
Изначально моя тактика была на предоставление пользователям исчерпывающей информации по каждой функции, описанием из документации, примером исполнения, синтаксиса, но я решил что это будет лишней нагружающей информацией, которая забьет вашу ясную голову =) и будет мешать вам идти дальше, поэтому мои уроки php программирования будут исключительно конструктивные. Что это значит? Давайте для примера рассмотрим следующий случай: мы захотели написать гостевую книгу. Что нам необходимо знать для реализации нашей цели? Так это то, из чего будет состоять наш код. Я буду писать какие функции используются, описание их синтаксиса, соединение блоков в единое целое, разъяснение каждого шага моих действий, чтобы у вас не возникало вопросов типа – “Че за нах ваще?” и “а откуда это нарисовалось?”.
Поверьте, даже самые простые вещи потребуют от вас знаний и сообразительности. Скажем вам потребуется создать сбор данных, или наоборот вывод каких то данных из файла(гостевая книга, счетчик, доска объявлений итд), мы должны уже на этом этапе определится какие функции будут использованы для написания скрипта, для вышеперечисленных – это обязательно функции работы с файлами, создание циклов и условий, при которых наш скрипт должен запускаться.
Вспомните как в детстве вы играли в конструктор,что вы делали для создания машины? Спорю на бутылку пива что вам нужны были рама, 2 оси, 4 колеса и разумеется крепежные элементы, при помощи которых это все соединялось. В нашем случае детали – это стандартные функции PHP. Отсюда вывод написать скрипт – сконструировать его.
Моим первым примером будет скрипт простой авторизации пользователя на сервере.Конструкция
- form.html – форма ввода данных, а именно логина и пароля. Это будет простой html-файл, который мы разберем по ходу дела.
- form.php – это наш скрипт, который будет обрабатывать полученные данные из form.html.
Детали
form.html
[cc lang="html" tab_size="2" lines="60"]
[/cc]
Прошу обратить внимание на тег <form></form> , он отвечает за передачу данных у него есть несколько важных атрибутов:
1. method - это принцип, по которому данные буду передаваться из формы.
значение: может быть post или get , вам лично советую передавать данные
первым методом .
2. action – он указывает куда передавать наши данные, а точнее здесь прописывается имя файла, отвечающего за обработку.
Внутри тега <form></form> есть вложенные теги input, у них тоже есть свои атрибуты:
name – это имя переменной ,которое будет передавать значение в наш скрипт, value – значение по умолчанию,
type - тип данных вводимых в поле ввода, вы наверняка замечали что при авторизации, пароль обычно скрывается звездочками, это получается тогда, когда type принимает значение password.Ну и главный исполнительный элемент, это кнопка. Это тоже тег input, в котором type принимает значение submit (отправить). А также value и name, которое тоже необходимо присваивать кнопке. Value в данном случае, это слово, котрое отображается на кнопке.
Можете скопировать этот фрагмент и вставить в PHP Expert Editor, и сохранить с именем form.htm, поставьте расширение файла именно htm, потому что он не содержит исполянемого кода.
form.php
Скрипт будет представлять собой валидатор, т.е. будет происходить проверка на правильность введенных данных.[cc lang="php" tab_size="2" lines="60"]
//Конфигурация
$login = "admin"; //Логин
$pass = "extra"; //Пароль админа
[/cc]Обратите внимание на нашу форму, как видите поле для логина носит имя login, поле ввода пароля pass, т.к. метод передачи был post, будем принимать эти данные через специальный массив $_POST['имя_переменной']. Массив это определенный вид переменной, в которой соответствующему ключу соотвествует определенное значение. Мы не будем углубляться в массивы , к ним мы вернемся позднее.
В нашем скрипте данные введенные в форме будут содержаться в переменной $_POST['login'] и $_POST['pass'], с ними мы и продолжим работать.
[cc lang="php" tab_size="2" lines="60"]
//Проверка и чистка входящих данных$flogin = stripslashes(substr($_POST['login'],0,15));
$fpass = stripslashes(substr($_POST['pass'],0,15));
//Вырезаем слэши и обрезаем до 15 знаков
[/cc]Теперь мы имеем 2 отфильтрованные переменные $flogin и $fpass, с ними и продолжим работать. Для того чтобы проверить, нам надо сравнить полученные данные, с данными изначально сконфигурированными применяем простые условия.
[cc lang="php" tab_size="2" lines="60"]if($flogin == $login) {
if($pass == $fpass) { echo “Здравствуйте $flogin
вы авторизованы”; }
else {echo “не верный пароль”;}
}else { echo “неверное имя пользователя”; }
?>[/cc]
А теперь разберем детально как производилась проверка.
Первое условие: если введенный логин (переменная $flogin) равен заданному (переменная $login) получаем значение TRUE и идем дальше, ко второму условию, иначе выводим сообщение об ошибке.
Второе условие: вложенное в первое, если введенный пароль равен заданному получаем значение TRUE и выводи сообщение об удачной авторизации, иначе выводим сообщение об ошибке.
Соединяя все это в единое целое получаем рабочий скрипт. Готовый пример можно посмотреть здесь (имя пользователя admin, пароль extra) .
Для начинающих php программистов, я советую под рукой держать документацию, которая всегда поможет в правильности написания той, или иной функции, подскажет синтаксис, ну и небольшой пример.
Наша задача – научится программировать.
Подпишись на RSS, впереди много интересного.66 Responses to “Урок 2. Конструктивный подход. Описание процедуры авторизации.”
Страницы: [7] 6 5 4 3 2 1 » Show All
Страницы: [7] 6 5 4 3 2 1 » Show All
Leave a Reply




Декабрь 1st, 2009 at 14:54
Предлагаем пластину полиизобутиленовую ПСГ для защиты химической аппаратуры, газоходов и строительных конструкций от действия растворов минеральных и органических кислот, щелочей и др. агрессивных сред. Размеры пластины: толщина 1,0-2,5 мм, ширина 800 мм. Интервал температуры эксплуатации от -30 до +70°С.
Тел. 8313 251752
Ноябрь 30th, 2009 at 14:23
Автотранспортные перевозки по России автоцистернами чистого химического сырья. Бензовозы.
Услуги хранения сырья в емкостях на охраняемой базе.
Тел. 8-950-352-77-04 ф.(8313) 275-567
Октябрь 22nd, 2009 at 14:49
Офис от собственника 50 м2 в 4-х минутах пешком от метро Красные Ворота, 2-й этаж 2-х этажного кирпичного офисного здания, вход через проходную, одна комната, стеклопакеты, кондиционер, паркет, подвесные потолки, в отличном состоянии, парковка, 2 телефон МГТС, провайдеры: Мастертел, НьюкомПорт, Презентабельный внешний и внутренний вид. На этаже есть столовая, прямая аренда. Цена 65 000 рублей в месяц за весь офис, все включено! 589-65-91, Ирина.
Октябрь 10th, 2009 at 11:27
Рекламное агентство полного цикла RULER advertising http://ruler.com.ua оказывает услуги по разработке новых
брендов и интегрированных коммуникаций в маркетинге: маркетинговые исследования,
брендинг, креатив, дизайн, фирменный стиль, медиапланирование, медиаразмещение,
проведение BTL-акций, разработка PR-стратегий, создание web-сайтов,
интернет-продвижение сайтов, производство рекламных материалов,
изготовление видеороликов и аудиороликов, фотосъемка.
Октябрь 6th, 2009 at 22:58
Газорегуляторные пункты и установки по заводской цене в наличии – газорегуляторные пункты с одной линией редуцирования ГРПШ ГРПШ-10МС ГРПШ-400 ГРПШ-400-01 ГРПШ-07-У1 ГРПШ-01-У1 ГРПШ-03-У1 ГРПШ-03М-У1 ГРПШ-03МБ-У1 ГРПШ-13-1НУ1 ГРПШ-13-1ВУ1 ГРПШ-15-1НУ1 ГРПШ-15-1ВУ1 ГРПШ-16-1НУ1 ГРПШ-16-1-ВУ1 ГСГО-00/15
Октябрь 2nd, 2009 at 18:42
Раскрутка, продвижение сайтов Пермь, сайта в Перми.