07 ноя 2010
Урок 2. Конструктивный подход. Описание процедуры авторизации.
Dmitrius Категория: Web-Мастеру » Уроки
У нас вы можете скачать бесплатно Урок 2. Конструктивный подход. Описание процедуры авторизации.

Данный материал предоставлен сайтом Skripter.info исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Урок 2. Конструктивный подход. Описание процедуры авторизации.


Как только вы возьметесь за написание какого-либо скрипта или фрагмента кода, вы непременно встретитесь со многими трудностями, многое введет вас в заблуждение, что то не сразу получиться. Чтобы избежать ошибок советую Вам не торопиться, уроки по php, которые я буду публиковать Вам обязательно помогут.

Изначально моя тактика была на предоставление пользователям исчерпывающей информации по каждой функции, описанием из документации, примером исполнения, синтаксиса, но я решил что это будет лишней нагружающей информацией, которая забьет вашу ясную голову =) и будет мешать вам идти дальше, поэтому мои уроки php программирования будут исключительно конструктивные. Что это значит? Давайте для примера рассмотрим следующий случай: мы захотели написать гостевую книгу. Что нам необходимо знать для реализации нашей цели? Так это то, из чего будет состоять наш код. Я буду писать какие функции используются, описание их синтаксиса, соединение блоков в единое целое, разъяснение каждого шага моих действий, чтобы у вас не возникало вопросов типа – «Че за нах ваще?» и «а откуда это нарисовалось?».

Поверьте, даже самые простые вещи потребуют от вас знаний и сообразительности. Скажем вам потребуется создать сбор данных, или наоборот вывод каких то данных из файла(гостевая книга, счетчик, доска объявлений итд), мы должны уже на этом этапе определится какие функции будут использованы для написания скрипта, для вышеперечисленных – это обязательно функции работы с файлами, создание циклов и условий, при которых наш скрипт должен запускаться.

Вспомните как в детстве вы играли в конструктор,что вы делали для создания машины? Спорю на бутылку пива что вам нужны были рама, 2 оси, 4 колеса и разумеется крепежные элементы, при помощи которых это все соединялось. В нашем случае детали – это стандартные функции PHP.
Отсюда вывод написать скрипт – сконструировать его.

Конструкция

form.html – форма ввода данных, а именно логина и пароля. Это будет простой html-файл, который мы разберем по ходу дела.
form.php – это наш скрипт, который будет обрабатывать полученные данные из form.html.


Детали
form.html

<html>

<head>
  <title>Авторизация</title>
</head>

<body>
     <form name="" action="form.php" method="post">
      логин:<input name="login" type="text" value=""><br/>
      пароль:<input name="pass" type="password" value=""><br/><br/>
      <input type="submit" value="[ войти ]">
</form>
</body>

</html>


Прошу обратить внимание на тег
, он отвечает за передачу данных у него есть несколько важных атрибутов:
1. method - это принцип, по которому данные буду передаваться из формы.
значение: может быть post или get , вам лично советую передавать данные
первым методом .
2. action – он указывает куда передавать наши данные, а точнее здесь прописывается имя файла, отвечающего за обработку.
Внутри тега
есть вложенные теги input, у них тоже есть свои атрибуты:
name – это имя переменной ,которое будет передавать значение в наш скрипт, value – значение по умолчанию,
type - тип данных вводимых в поле ввода, вы наверняка замечали что при авторизации, пароль обычно скрывается звездочками, это получается тогда, когда type принимает значение password.

Ну и главный исполнительный элемент, это кнопка. Это тоже тег input, в котором type принимает значение submit (отправить). А также value и name, которое тоже необходимо присваивать кнопке. Value в данном случае, это слово, котрое отображается на кнопке.

Можете скопировать этот фрагмент и вставить в PHP Expert Editor, и сохранить с именем form.htm, поставьте расширение файла именно htm, потому что он не содержит исполянемого кода.

form.php
Скрипт будет представлять собой валидатор, т.е. будет происходить проверка на правильность введенных данных.

<?php

//Конфигурация
$login = "admin";   //Логин
$pass = "extra";    //Пароль админа


Обратите внимание на нашу форму, как видите поле для логина носит имя login, поле ввода пароля pass, т.к. метод передачи был post, будем принимать эти данные через специальный массив $_POST['имя_переменной']. Массив это определенный вид переменной, в которой соответствующему ключу соотвествует определенное значение. Мы не будем углуматся в массивы , к ним мы вернемся позднее.

В нашем скрипте данные введенные в форме будут содержаться в переменной $_POST['login'] и $_POST['pass'], с ними мы и продолжим работать.

//Проверка и чистка входящих данных

$flogin = stripslashes(substr($_POST['login'],0,15));

$fpass = stripslashes(substr($_POST['pass'],0,15));
//Вырезаем слэши и обрезаем до 15 знаков


Теперь мы имеем 2 отфильтрованные переменные $flogin и $fpass, с ними и продолжим работать. Для того чтобы проверить, нам надо сравнить полученные данные, с данными изначально сконфигурированными применяем простые условия.

if($flogin == $login) {
  if($pass == $fpass) { echo "Здравствуйте $flogin<br>вы авторизованы";    }
                    else {echo "не верный пароль";}
                      }

else { echo "неверное имя пользователя"; }

?>


А теперь разберем детально как производилась проверка.

Первое условие: если введенный логин (переменная $flogin) равен заданному (переменная $login) получаем значение TRUE и идем дальше, ко второму условию, иначе выводим сообщение об ошибке.

Второе условие: вложенное в первое, если введенный пароль равен заданному получаем значение TRUE и выводи сообщение об удачной авторизации, иначе выводим сообщение об ошибке.

Соединяя все это в единое целое получаем рабочий скрипт. Готовый пример можно посмотреть здесь (имя пользователя admin, пароль extra) .

Для начинающих php программистов, я советую под рукой держать документацию, которая всегда поможет в правильности написания той, или иной функции, подскажет синтаксис, ну и небольшой пример.
Наша задача – научится программировать.









Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Itachi Uchiha | 7 ноября 2010 02:41
  • Группа: Посетители |
  • Комментарий: 1 (ссылка)

а можно ли увидеть аналогичный урок только что б пароль и логин брался из базы ?? как в движках сайтов и т.п . ?

Dmitrius | 7 ноября 2010 02:44
  • Группа: Посетители |
  • Комментарий: 2 (ссылка)

в будущих уроках я распишу как это делать

Itachi Uchiha | 7 ноября 2010 02:45
  • Группа: Посетители |
  • Комментарий: 3 (ссылка)

отлично. буду ждать продолжения

Schok89 | 17 декабря 2010 18:58
  • Группа: Посетители |
  • Комментарий: 4 (ссылка)

Цитата: Dmitrius
в будущих уроках я распишу как это делать

эм.. вы будете продолжать выкладывать подобные уроки?

wiillow | 19 февраля 2011 17:02
  • Группа: Посетители |
  • Комментарий: 5 (ссылка)

Автору спасибо!

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.