примеры программ на php

30+ лучших приемов PHP для начинающих

Дата публикации: 2010-04-14

примеры программ на php. Смотреть фото примеры программ на php. Смотреть картинку примеры программ на php. Картинка про примеры программ на php. Фото примеры программ на php

От Автора: PHP – самый широко используемый в Сети язык программирования. Представляем тридцать с небольшим лучших приемов для новичков, желающих приобрести основные навыки — php для начинающих.

1. Подружитесь со справочником по PHP

Если вы новичок в PHP, значит, пришло время познакомиться с внушающим почтение справочником PHP. Справочник по PHP невероятно исчерпывающий и содержит действительно полезные комментарии к каждой статье. Перед тем, как задавать вопросы или пытаться самостоятельно разрешить проблему, сэкономьте время и просто возьмите курс на справочник. Ответы на ваши вопросы уже удобно разместились в полезной статье на сайте PHP.net.
В данном случае мы Вам рекомендуем поискать самостоятельно справочники на русском языке, лучше php для начинающих. Будем рады, если Вы дадите ссылке на полезные справочники в комментариях к статье (Просто учитывайте, что это перевод статьи).

2. Включите отчет об ошибках

Отчет об ошибках в PHP очень полезен. Вы обнаружите ошибки в своем коде, которых не замечали ранее, однако не все они препятствуют работе приложения. Есть разные уровни детализации отчета, которые можно использовать, но E_ALL будет одинаково представлять вам все ошибки, критические ситуации и предупреждения.

Когда ваше приложение готово к продуктивной эксплуатации, придется выключить отчет об ошибках, иначе ваши посетители будут видеть странные сообщения, в которых ничего не поймут.

3. Попробуйте IDE

IDE (Integrated Development Environments/интегрированные среды разработки) – полезные инструменты для любого разработчика. Хотя они подойдут не для каждого, IDE определенно имеют свое значение. IDE обеспечивают такие инструменты, как:

примеры программ на php. Смотреть фото примеры программ на php. Смотреть картинку примеры программ на php. Картинка про примеры программ на php. Фото примеры программ на php

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Code completion (подсказки идентификаторов в редакторе кода)

Предупреждения об ошибках

Рефакторинг кода (переделка кода)

А также большое количество других возможностей. Существует множество отличных IDE, поддерживающих PHP.

примеры программ на php. Смотреть фото примеры программ на php. Смотреть картинку примеры программ на php. Картинка про примеры программ на php. Фото примеры программ на php

4. Попробуйте PHP-frameworks

Вы можете многое узнать о PHP, просто экспериментируя с PHP-фреймворками. Такие фреймворки, как CakePHP или CodeIgniter, позволяют быстро создавать приложения PHP, даже если вы в нем не эксперт. В каком-то смысле они – дополнительные подпорки, которые показывают вам, каким образом должно выглядеть приложение PHP, и демонстрируют полезные концепции программирования (вроде отделения логики от дизайна и т.д.).

Возражение: лично я не советую новичкам пользоваться фреймворками. Сначала выучите основы.

5. Научитесь DRY

DRY – аббревиатура от Don’t Repeat Yourself, (Не Повторяйтесь), и это – полезная концепция программирования, без разницы на каком языке. DRY-программирование, как предполагается названием, гарантирует, что вы не пишете избыточного кода. Вот пример от Reinhold Weber:

примеры программ на php. Смотреть фото примеры программ на php. Смотреть картинку примеры программ на php. Картинка про примеры программ на php. Фото примеры программ на php

теперь применением к нему подход DRY:

Более подробно о концепции DRY можно прочесть здесь и здесь.

6. Делайте отступы и используйте пробелы в коде для читаемости

Если вы не используете отступы и пробелы в коде, то результат выглядит, как картина Джексона Поллака (Jackson Pollack). Обеспечьте читаемость своего кода и нормальный поиск, потому что почти наверняка в будущем вы будете делать в нем изменения. IDE и современные текстовые редакторы могут автоматически делать отступы в коде.

7. Делайте код многоуровневым

Разделение на уровни ваших приложений – это ничто иное, как разделение различных компонентов кода на части. В будущем это даст вам возможность легко изменять код.

8. Всегда используйте

Часто программисты пытаются использовать сокращения в операторах PHP. Вот как это обычно делается:

9. Используйте содержательные, последовательные названия

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

10. Комментируйте, комментируйте, комментируйте

Кроме использования пробелов и отступов для разделения кода, вам также придется использовать встроенные комментарии, чтобы снабжать примечаниями свой код. Позже вы поблагодарите сами себя, когда придется возвращаться и искать что-либо в коде, или если вы просто не помните того, что делала определенная функция. Это также полезно для тех, кому нужно просмотреть ваш код.

11. Установите MAMP/WAMP

MySQL — самый популярный вид базы данных, используемый с PHP (хотя и не единственный). Если нужно настроить локальное окружение для разработки и тестирования ваших PHP-приложений на компьютере, предусмотрите установку MAMP (Mac) или WAMP (Windows). Установка MySQL на ваш собственный компьютер может стать утомительным процессом, а оба этих программных пакета содержат MySQL. Ловко и просто.

12. Установите лимиты своим скриптам

Установка лимита времени на PHP-скрипты – очень ответственная вещь. Бывают моменты, когда скрипты выходят из строя, и когда это произойдет, вам придется использовать свойство set_time_limit (установить лимит времени), чтобы избежать бесконечно повторяющихся циклов и истечения таймаутов времени соединения с базой данных. Set_time_limit устанавливает лимит времени на максимальное количество секунд, за которое выполняется скрипт (по умолчанию 30). По истечении этого времени возбуждается неустранимая ошибка.

13. Используйте объекты (или ООП)

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

14. Поймите разницу между одинарными и двойными кавычками

Использование одинарных кавычек в строках более эффективно, так как парсеру (синтаксическому анализатору) не приходится просеивать код в поиске специальных символов (прим. перев. escape-последовательностей) и прочих вещей, что позволяют двойные кавычки. Там, где это возможно, старайтесь всегда использовать одинарные кавычки.

Возражение: Собственно, это не обязательно верно. Тесты Benchmark показывают, что при тестировании строк без переменных существуют определенные преимущества быстродействия при использовании двойных кавычек.

15. Не ставьте phpinfo() в свой Webroot

Phpinfo – чудесная вещь. Просто создав PHP-файл, в котором есть:

Источник

Примеры программ на php

1. Простой вывод текста

Текст можно вводить как в одинарных кавычках, так и в двойных. В функции аргументы можно передавать без скобок. Кроме echo можно использовать ключевое слово print. Отличие echo от print в том, что echo может выводить несколько строк, указанных через запятую:

Обе эти строки выведут один и тот же результат. Одинарные кавычки отличаются от двойных тем, что одинарные отключают сканирование строки на наличие в ней переменных, например, в следующем примере только первый оператор echo выведет значение переменной:

Одинарные кавычки также отключают действие Esc-кодов (см. ниже). Одинарные кавычки увеличивают производительность кода, поэтому их использование предпочтительнее.

Если переменная не была задана (присвоена), но её значение используется, то переменная автоматически получает значение по умолчанию. Например, если функция, применяемая над переменной, математическая, то переменной присвоится число 0. Переменные, объявленные вне функций, являются глобальными, т. е. видны во всем файле. Переменные, объявленные в теле функции, видны только в этой функции. Операторы PHP, в отличие от функций, констант и переменных, нечувствительны к регистру.

3. Неявное преобразование типа переменной (в данном примере преобразование строки в число):

4. Определение констант, использование комментариев.

В этом примере задана константа и показано использование комментариев. Имя константы тоже чувствительно к регистру. Существующие предопределенные логические константы TRUE и FALSE нечувствительны к регистру. Константы удобно использовать в отдельном файле и подключать его оператором require_once, например, в таком файле могут храниться строковые константы пунктов меню. При случае легко поменять язык сайта, просто включив другой файл с константами.

5. Другие способы задания комментариев:

6. Использование перевода строки и параграфа при выводе

7. Использование Ecs-кодов

8. Пример функции

По умолчанию параметры в функцию передаются по значению, то есть переданную в функцию переменную можно свободно изменять внутри функции, и на выходе значение переменной, которая передавалась, останется прежним. Чтобы передать переменную не по значению, а по ссылке, в вызове функции к переменной нужно добавить амперсанд &, например:

9. Пример условного оператора, получение переменной окружения.

операторописание
==равно
===равно и совпадают типы
!=не равно
меньше больше
=больше либо равно

Кроме того, есть очень удобный оператор elseif:

10. Получение других переменных окружения

Здесь показан вывод переменных окружения сервера. В одной строке можно использовать несколько операторов, отделенных табуляцией, пробелами и точкой с запятой. Более правильно, конечно, было бы использовать цикл foreach, поскольку перечень переменных для каждого сервера может отличаться (см. пункт 18 Массивы).

11. Логгер пользователей, которые заходят на сайт

Файл лога будет называться YYMMDD.txt и писаться в папку logs, которая находится в корневом каталоге сайта (там же, где файл index.html).

Возможны другие варианты открытия файла:

Может также использоваться символ ‘b’ в системах, различающих бинарные и текстовые файлы (не используется в Unix). Если данное значение не имеет смысла, оно игнорируется.

12. Как запустить PHP-скрипт? Опишу один из способов.

— в тело html-странички (например, page.html), в любом месте раздела нужно встроить код PHP:

13. Как узнать версию PHP, которая установлена на сайте? Функция phpinfo() выводит красивую и подробную информацию об установленном PHP.

14. Функция Error_Reporting() меняет параметры вывода сообщений об ошибке.

Если перед функцией поставить символ @, например @print(), то в случае ошибки в этой функции сообщение об ошибке не выведется.

15. Блок кода задается так же, как в C, с помощью <>.

16. Цикл for задается так же, как в C:

Отличие в том, что инициализировать можно несколько переменных:

Кроме того, можно делать несколько проверок, но это не имеет смысла, поскольку срабатывает только последняя:

Например, так получим бесконечный цикл:

А так цикл ни разу не выполнится:

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

18. Функция для поиска и замены с помощью регулярного выражения

pattern регулярное выражение для поиска, чего будем менять
replacement чем заменяем
subject строка, в которой производится поиск и замена
limit сколько раз производим замену (необязательный параметр)
mixed псевдотип; говорит о том, что параметр может принимать множество (но не обязательно все) типов.

19. Массивы

Присвоение элементам значений:

В этом случае последний элемент массива получит индекс 21.
Можно в качестве индексов использовать символы:

Можно создавать массивы с помощью функции array:

С помощью функции array можно создавать массивы с символьными индексами:

Цикл foreach позволяет вывести все элементы массива:

А так с помощью foreach можно получать значение индекса:

Функция count позволяет получить количество элементов массива:

Пример, который выводит все переменные окружения сервера:

Этот код не такой громоздкий, как был приведен ранее (п. 10), и выводит весь список существующих переменных. Коды & nbsp ; выводят пробелы, которые не обрезаются до одного.

Другие предопределенные массивы:

20. Строки

Функции для работы со строками и символами:

mixed str_replace (mixed search, mixed replace, mixed subject[, int &count]) возвращает строку, в subject, в которой все search заменены на replace. В переменной count подсчитывается количество замен.

int ord (string string) возвращает ASCII-код первого символа в строке.

string chr (int ascii) возвращает строку из одного символа, код которого задан аргументом ascii.

21. Удобные функции для работы с массивами

Источник

Простые примеры php

Несомненно, php поднял развитие сайтов на новый уровень, я уже не могу себе представить свои проекты без php. Вспоминаю как раньше я делал сайты на html и ужасаюсь, хватало же терпения редактировать постоянно одни и те же элементы ради хоть какого-то изменения сайта.

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

Я постараюсь преподнести вам эти примеры в порядке возрастания их сложности.

Какая версия php у меня установлена

Прежде чем работать с php было бы неплохо узнать установлин ли у вас php и узнать какая именно версия. Выполнять поставленную задачу будем с помощью встроенной функции phpinfo(), которая кроме версии php покажет нам детальный отчёт о всех его настройках.

Посмотрите пример вывода информации данной функции, чтобы вывести подобное на своём сайте, создайте страницу с расширением .php и вставьте туда следующий код:

Время на сайте (сервере)

С помощью php легко узнать текущее время на сервере, например, во время загрузки на сервере было 14:33:17 26.09.2021, но в отличии от javascript это время не меняется онлайн, т.е. отображается то время, которое было на сервере в момент загрузки данной страницы.

Чтобы вывести дату на сайте нужно воспользоваться функцией date().

Как определить IP-посетителя

При написании скрипта для добавления комментариев неплохо бы кроме вводимых пользователем данных писать в базу данных ещё и его IP-адрес, мало ли пригодится. Узнать IP адрес пользователя можно с помощью функции getenv(‘REMOTE_ADDR’)

Вычисляем время выполения php-скрипта (загрузки страницы)

При программировании на php немаловажно уделить внимание скорости загрузки срипта. Слишком долго выполняющиеся скрипты могут сильно грузить сервер, при высокой посещаемости ресурса будут происходить сбои всего сайта из-за таких скриптов. Чтобы узнать сколько времени работает скрипт (грузится страница), воспользуйтесь таким примером php-кода:

Контент страницы, скрипты и т.п.

Для примера откройте главную страницу моего сайта, там внизу есть информация о том, сколько времени заняла загрузка страницы, подобная информация есть практически на всех страницах моего сайта. В среднем время загрузки не должно превышать 0,1 сек., если скрипт выполняется более чем за 0,5 сек, то вам стоит пересмотреть ваш скрипт. Время загрузки зависит не только от скрипта, но и от самого сервера, так на локальном компьютере скрипт может работать в разы быстрее, чем на виртуальном хостинге.

Подсветка php-кода

Вы наверное уже обратили внимание, что на этой странице я привожу примеры php-кодов в цветном варианте. Цветной код удобно читать, нежели чёрно-белый. Например, я мог бы показывать вам коды так:

Но всё же согласитесь, цветной код лучше! Выше я привожу вам пример функции highlight_file(), с её помощью можно выводить на страницу php-код из другого файла. Ниже посмотрите функцию highlight_string(), где можно раскрашивать код непосредственно на странице.

Маленькая поправочка: следите за ковычками внутри этих функций, если используете двойную ковычку «, то внутри используйте только одинарные ‘, если нужно использовать двойную ковычку, то её необходимо экранировать обратным слешем \». То же касается и одинарыных ковычек.

php-скрипт случайных чисел

При написании скриптов случается нужно сгенерировать случайное число, это можно сделать при помощи функции rand().

В данном случае будет генерироваться случайное число от 1 до 100.

Список файлов из папки

С помощью php можно просканировать папку с файлами и вывести результат на экран, возможно вам пригодится это при создании всевозможных файловых хранилищ.

Вот вам пример работы этого скрипта:

Это файлы из папки с примерами к этой статье.

Какой размер файла

Если нужно узнать размер файла, например картинки, то воспользуемся функцией filesize(), она покажет нам размер файла в байтах.

Скачать файл скриптом

Если нужно зашифровать для каких-то целей исходную папку с файлами, но дать возможность пользователям скачивать из неё файлы, т.е. сделать нечто похожее на файлообменник, то можно воспользоваться следующим примером кода:

Если обратиться к файлу с таким скриптом, то начнётся скачивание файла file.zip из папки folder, но пользователь никогда не узнает из какой же папки происходит скачивание, а значит и не узнает его истиного пути, в нашем случае это http://сайт.ру/folder/file.zip

Вот вам живой пример, ссылка ведёт на страницу /lessons/php/14/load.html, но будет скачиваться файл, откуда, попробуйте догадаться.

Чтобы защитить нашу секретную папку от тех, кто всё же узнает про неё, воспользуйтесь файлом htaccess, с помощью которого можно запретить доступ ко всем файлам, находящимся в этой папке, но при этом их можно будет скачивать нашим скриптом.

Транслитерация слов с помощью php

Наверное не нужно объяснять зачем нужно транслитерировать русские буквы, это и так понятно.

Пример работы скрипта можно посмотреть в моих сервисах.

Код вы сможете без труда изменить на своё усмотрение.

Сканируем чужие сайты

Вот уж где находка вора, с помощью функции file_get_contents() вы можете открывать на своих страницах чужие сайты.

Злоупотреблять этой функцией не нужно, иначе можно доиграться!

Адрес сайта

С помощью функции $_SERVER[‘HTTP_HOST’] можно сказать пользователю на каком сайте он находится или использовать для подставновки в своих скриптах.

Результат: Вы находитесь на сайте computerlessons.mega8.ru

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

Источник

Изучить программирование на PHP. Вводная

примеры программ на php. Смотреть фото примеры программ на php. Смотреть картинку примеры программ на php. Картинка про примеры программ на php. Фото примеры программ на php

Основная задача программирования — заставить компьютер выполнять определенные и нужные программисту действия. Поэтому, наша первая программа будет выглядеть так:

— говорит нам о том, что дальше будет код на языке PHP. Все наши программы, написанные на php мы будем в обязательном порядке начинать с этой строчки. Иначе PHP просто пройдет мимо, даже не подозревая, какую важную задачу мы пытаемся на него возложить.

Поехали дальше.
Вторая строка:

Первое слово, которое мы встречаем в этой строке — слово «me», на основании чего делаем вывод, что разговор тут идет о создателе данной программы. Доллар перед словом означает, что данная последовательность символов обретает свой смысл в виде переменной.

Что же такое переменная? Переменная — это место, где хранятся наши данные, а для удобства обращения, мы даем имя этой части памяти.

Если у нас есть выделенная память, то глупо ее оставлять пустой, верно? Поэтому следующим символом «=» мы говорим компьютеру, что в это место, которое мы только что создали нужно записать данные, фактически присваивая переменной какое-то значение. Поэтому данный символ называется не «равно», как мы привыкли в математике, а «оператор присваивания».

Прежде чем продолжить, хотелось сказать пару слов про лексику, которой пользуются программисты. Людям не посвященным, мир программистов кажется странным. Ведь нам ничего не стоит сделать фабрику мостов, а стринги разложить на чары. Но, как и все в программировании, лексика подчиняется логике, и имеет вполне определенную смысловую нагрузку. А еще чтение вслух программ на PHP способно призывать дух Черно-белого верблюда, который будет говорить что-то про «шаблонизатор».

Как вы догадались, речь пойдет о довольно знакомом для слуха слове «оператор». Чаще всего слово «оператор» применяется рядом с названиями техники, требующей определенных знаний и умений для работы с ней. Фактически, оператор — это кто-то, кто выполняет определенные действия, следуя задачам, поставленными начальством. Но в программе нет живых людей, способных выполнить за нас работу, а программист — единственный и бессменный тут начальник. Поэтому, когда мы говорим об «операторах» в программе, мы имеем в виду что-то, что делает для нас определенные действия. Это простейшие приказы или указания, которые компьютер выполнит в точности, как это описано в документации. Ну или не выполнит, если обиделся, устал и хочет мороженку.

Поэтому, для программистов «+» — это не «плюс», а «оператор сложения», «-» — «оператор вычитания», «*» — «оператор умножения», а «\» — оператор деления. Конечно, этот список операторов далеко не полный, но смысл остается тот же — «оператор» — это что-то, что совершает определенные действия (у программистов называется «совершает операцию») над исходными данными, которые называются операндами.

Говоря языком программирования —

Подобно математическим уравнениям, мы можем комбинировать операторы вместе.
Например,

printReport «, то скорее всего функция печатает отчет, а если написано » eatCat «, то функция отправит вашего кота есть. Или съест вашего кота.

Возвращаясь к нашему коду —

Судя по названию, делает счастливым, а судя по списку операндов, делает счастливым программиста, создавшего ее. Данная программа является универсальным личным генератором счастья. На этом я заканчиваю рассказ о программировании — ведь теперь у вас есть универсальный способ доставить счастье кому угодно. Заказчику, начальнику и самому себе конечно. Все. Занавес, выключаем рубильник и расходимся.

Что, что простите? Функция не определена. Ой, извините, забыл маленькую деталь.

Прежде чем компьютер принесет вам счастье, вы должны научить его это делать. Как? С помощью магии, конечно! Магии программирования — так что одеваем черные плащи, берем в руки клавиатуру, учебник латыни и вперед — к созданию личных генераторов счастья. И хватит уже на сегодня — полнолуние, и у меня запланирован интересный вечер в компании старых блудниц.

Источник

Примеры программирования в PHP

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

Содержание

Как на PHP самому сделать автоматический счетчик номера записи в таблице MySQL?

Будем использовать для этого следующую функцию:

Теперь применим её на практике:

Как удалить все файлы в папке?

Есть ли в PHP возможность заменить блоки if…else другой условной операцией?

Язык программирования РНР предоставляет возможность заменять блоки if…else условной операцией
(в отличие от унарных и бинарных операций условная операция используется с тремя операндами).
В этой условной операции присутствуют два символа «?» и «:» и три параметра:

Первым вычисляется значение выражения_1. Если оно истинно, то вычисляется значение выражения_2,
которое и становится результатом. Если при вычислении значения выражения_1 ложно, то в качестве результата берётся выражение_3.
Например, можно написать следующее выражение:

Как удалить определённые строки из текстового файла с помощью языка программирования PHP?

Предположим, нужно удалить все строки из текста, которые содержат слово «php».

Поделиться записью

Спасибо за автоматический счетчик номера записи, а то встроенный инкремент разбрасывает цифры как хочет.

Я согласен с Вами, пожалуйста!

Комментарии закрыты.

Рубрики

Рубрики

У вас есть группа в Telegram? В этой статье подробно написано, как настроить канал и группу в Telegram, чтобы отправлять запланированные посты, используя TelepostBot.

В этой статье вы найдете решение проблем с переходом сайта с HTTP на защищенный протокол HTTPS

Свежие комментарии

Страницы

Метки

Наши сайты

Этот сайт использует файлы cookie. Продолжая просматривать сайт, вы соглашаетесь с тем, что мы используем файлы cookie.

Мы можем запросить сохранение файлов cookies на вашем устройстве. Мы используем их, чтобы знать, когда вы посещаете наш сайт, как вы с ним взаимодействуете, чтобы улучшить и индивидуализировать ваш опыт использования сайта.

Чтобы узнать больше, нажмите на ссылку категории. Вы также можете изменить свои предпочтения. Обратите внимание, что запрет некоторых видов cookies может сказаться на вашем опыте испольхования сайта и услугах, которые мы можем предложить.

These cookies are strictly necessary to provide you with services available through our website and to use some of its features.

Because these cookies are strictly necessary to deliver the website, refuseing them will have impact how our site functions. You always can block or delete cookies by changing your browser settings and force blocking all cookies on this website. But this will always prompt you to accept/refuse cookies when revisiting our site.

We fully respect if you want to refuse cookies but to avoid asking you again and again kindly allow us to store a cookie for that. You are free to opt out any time or opt in for other cookies to get a better experience. If you refuse cookies we will remove all set cookies in our domain.

We provide you with a list of stored cookies on your computer in our domain so you can check what we stored. Due to security reasons we are not able to show or modify cookies from other domains. You can check these in your browser security settings.

We also use different external services like Google Webfonts, Google Maps, and external Video providers. Since these providers may collect personal data like your IP address we allow you to block them here. Please be aware that this might heavily reduce the functionality and appearance of our site. Changes will take effect once you reload the page.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *