Пишем возраст пользователя на php


Содержание

Хакерский форум

Меню навигации

Пользовательские ссылки

Информация о пользователе

Вы здесь » Хакерский форум » WEB-программирование » Пишем форум на PHP

Пишем форум на PHP

Сообщений 1 страница 1 из 1

Поделиться125th Aug 2014 14:41:45

  • Автор: Appleseed
  • (••.)
  • Откуда: Амурск
  • Зарегистрирован: 26th Jul 2014
  • Сообщений: 382
  • Уважение: +21
  • Позитив: +36
  • Пол: Мужской
  • Возраст: 29 [1990-05-30]
  • Провел на форуме:
    2 дня 14 часов
  • Последний визит:
    16th May 2015 03:08:37

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

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

Так.. Я думаю, что сама техника отправки и сохранения текста сложности вызывать не должна — заполнил форму, кликнул «поехали!» и лицезреешь «здесь был Вася» на форуме или на чем-то подобном.
Потому я предпочту обсудить в этом уроке различные варианты архитектуры вышеупомянутых скриптов. А если тот или иной способ ее реализации будет стоить того — опишу и его.

Начну, пожалуй, с форума. Итак, как правильно спроектировать форум?
Для начала, пропишем его функции.
Здесь встаем перед определенной дилеммой: требовать ли с посетителя регистрации на форуме, или нет.
Посмотрим на проблему с двух точек зрения, а именно — с нашей, программистской, и с точки зрения пользователя.
— пользовательская точка зрения —
«Что дает мне регистрация на данном форуме?»
Тут же переключаемся на точку зрения владельца форума —
«Зачем мне регистрация пользователей?»
Ответ — да мне ж надо удержания их у себя на сайте, да увеличить количество посетителей (если форум интересен, то зарегестрировавшийся пользователь привлечет своих знакомых, коллег).

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

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

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

Приступим к реализации! Коль мы решили сделать форум с регистрацией, начнем именно с нее.
Урок по регистрации и авторизации (php) на сайтах приведен здесь. Если необходимо, просмотрите его, а я пока поговорю о том где и как мы будем хранить информацию о пользователях форума.
Держать все будем в Б.Д. Основные данные о юзерах — в таблице users_main, имеющей следующие поля:

id — уникальный идентификатор в таблице, будет увеличиваться на 1 при регистрации нового пользователя.
login — логин пользователя
pass — пароль
nick — никнейм
email — почта пользователя.
reg_date — дата регистрации
status — статус пользователя (зарегестрирован/не зарегестрирован)
confirmation_id — идентификатор подтверждения регистрации.
Как _первичным_, так и _внешним_ ключем будет служить id.
Зарегестрированные пользователи смогу хранить дополнительную информацию о себе, она будет помещена в таблице users_secondary.

id — идентификатор пользователя (соответствует id в users_main)
name — Реальное имя
surname — фамилия
skype — скайповский контакт.
icq — аська
last_date — дата последнего посещения
last_time — время последнего посещения.
Также нам нужна таблица themes, где мы будем хранить темы, созданные на сайте и привязывать их к конкретным пользователям.

theme_id — идентификатор темы, первичный ключ.
theme_title — наименование темы.
section — тематический раздел, коему сессия принадлежит.
user_id — идентификатор пользователя, создавшего тему
theme_date — дата создания темы
Еще таблица с сообщениями пользователей messages.

msg_id — идентификатор сообщения
msg_text — текст сообщения
msg_date — дата оставления сообщения
user_id — идентификатор пользователя, оставившего сообщение.
theme_id — идентификатор темы, в которой находится сообщение
Начнем писать код.

Отображение Логина, Имя Фамилия, Тип Пользователя

17.09.2013, 19:32

Создайте класс пользователя, с полями: фамилия, имя, возраст и e-mail
3. Создайте класс пользователя, с полями: фамилия, имя, возраст и e-mail. 4. В HTML форме.

Запросить у пользователя имя, фамилию и возраст. После чего вывести: “Здравствуйте [Имя] [Фамилия]”.
Здравствуйте и снова я обращаюсь за помощью задали задание: Написать код на JavaScript который.

Запросить у пользователя имя, фамилию, а затем вывести строку вида «фамилия, имя»
С. Прата, «Язык программирования С++», 4 глава, задача 3. Напишите программу, которая запрашивает.

Как передать в cmd-шник имя пользователя не сессии, а логина
Здраствуйте! Помогите пожалуйста со следующей проблемой. Как в cmd файл передать имя.

Как в Inbox сделать отображение имени Фамилия+Имя?
Lotus 6.5.1 Не подскажете какую формулу надо дописать в столбец Who (Кто) в представлении или.

Какие перспективы у PHP и стоит ли на нём писать

Наш подписчик прислал вопрос в редакцию Tproger:

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

Мы передали его нашим экспертам, а полученные ответы представляем вашему вниманию.

Николай Добровольский , вице-президент Parallels

В мире технологий все довольно быстро меняется. И правда, сейчас эра популярности PHP уже прошла. Поэтому говорят не зря. Достаточно просто взглянуть на http://githut.info.

Я бы посоветовал сейчас смотреть на JavaScript или Python как на наиболее популярные языки в области веб-разработки. Но через несколько лет все снова изменится. Уже сейчас много проектов делают на Ruby или Lua, которые отличаются еще большей скоростью разработки. Мы в Parallels для веб-разработок используем Python и JavaScript.

Игорь Сомов , бэкенд разработчик Avito, преподаватель

В интернете очень много мифов о PHP. Есть несколько причин их возникновения:

  • вы начали использовать PHP 4 года назад и потом перешли на другой язык. Теперь странно сравнивать старую версию языка с любым современным языком. Посмотрите на ChangeLog — вы увидите, что изменилось действительно многое;
  • в PHP очень низкий порог входа, и вы можете быстро начать решать задачи. Да, вы можете писать плохой код, как и в любом другом языке. Однако, когда вы действительно понимаете, как работает PHP изнутри, вы начинаете писать более качественный и производительный код. Если вы знакомы с базовым синтаксисом, то рекомендую посмотреть на современные фреймворки: Laravel, Symfony — и узнать PHP чуть подробнее. PHP очень активно развивается, обладает огромным профессиональным сообществом. Он является одним из самых быстрых скриптовых языков.

Сейчас все стандартные задачи на бэкенде можно решить с помощью PHP, существует огромное количество готовых решений, поддержка всех современных баз данных и технологий. Многие крупные компании используют PHP: Facebook, Vk, Mail.ru, Avito.

Но не стоит отрицать, что PHP ещё есть куда расти. Поэтому советую не верить слухам, а попробовать PHP самостоятельно.

Виталий Леонов , Руководитель бэкенд разработки Avito. Zend сертифицированный PHP-разработчик.

PHP — это инструмент. Инструмент, который развивается, имеет большое комьюнити, имеет прекрасную документацию, имеет большой набор готовых библиотек и решений. Он прекрасно справляется со своими задачами, хорошо решает потребности бизнеса: быстро стартовать, найти хорошую команду и сделать продукт. Большинство нареканий к PHP — это вкусовщина и нишевые проблемы, которые решаются другими инструментами.

Так что PHP вполне себе перспективен на ближайшее десятилетие.

Степан Чельцов , генеральный директор агентства «Первый интернет-проект»

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

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

Сергей Прокофьев , управляющий партнер агентства CreativePeople

У меня такое ощущение, что PHP сто лет стоял и еще сто простоит. Слишком много проектов на нем, для слишком большого количества разработчиков этот язык является основным. Я как-то слабо себе представляю 1С-Битрикс, переписанный на Python. Однако, я здесь больше рассуждаю как менеджер, так как сам завязал с программированием на уровне С.

Александр Павлов , ведущий разработчик AndersenLab

Очень много решений написано на PHP и продолжает писаться. Сам язык активно развивается, появляются новые фишки в ядре, растет производительность, растет число фреймворков, идет процесс стандартизации (PSR). Думаю, что PHP еще долгое время будет востребованным языком программирования и будет занимать свою нишу в мире веба.

Алексей Золотых , Frontend разработчик Wrike

Насколько я знаю, у PHP достаточно много проблем. Но основная проблема этого языка — низкий порог входа. Научиться делать простые вещи можно за пару дней или даже часов. Важно то, что умение генерировать HTML или виртуозно настраивать WordPress плохо соотносится с программированием. Хотя эти навыки и позволяют зарабатывать неплохие деньги.

Илон Маск рекомендует:  Что такое код getclassname

На PHP можно писать и серьезные вещи, но для этого нужно знать структуры данных, алгоритмы, парадигмы программирования и много чего еще.

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

Иван Никитин , директор «Иван Никитин и партнеры»

Слухи о смерти PHP сильно преувеличены.

PHP сегодня — это 25 % всего интернета.

Василий Васильков , эксперт IT-конференции «Стачка»

Ответ «да» на все вопросы.

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

Однако, я считаю, что все диспуты про PHP уже можно прекратить. Первое место в номинации «плохой язык» уже лет пять принадлежит JavaScript, и я не вижу других, столь же сильных претендентов на это место.

Поэтому, говоря про JavaScript, я отвечу точно также. Стоит ли продолжать с ним работать? Да. Стоит ли искать другой язык? Да. Является ли он настолько бесперспективным, как говорят? Да.

Григорий Земсков , Директор компании «Ревизиум»

Популярность языка PHP растет с каждым годом. Это обусловлено тем, что, с одной стороны, он прост в изучении, предоставляет широкие возможности для разработки решений для веба; а с другой стороны, огромное число популярных CMS реализовано именно на PHP: WordPress, Joomla, Drupal, DLE, MODx. Все популярные коммерческие CMS также работают на PHP: Bitrix, Netcat, UMI.CMS. Он поддерживается на подавляющем большинстве российских и зарубежных хостингов. Среду для веб-разработки можно легко развернуть на локальном компьютере.

У данного языка есть и отрицательные стороны, изначально заложенные в архитектуру: слабая типизация, большая свобода построения синтаксических конструкций, что приводит в итоге к большому числу ошибок и уязвимостей, особенно среди неопытных веб-разработчиков. Поэтому многие кастомные разработки на PHP с точки зрения безопасности чрезвычайно уязвимы. Но начиная с версии PHP 7 разработчик языка решил часть проблем и повысил производительность примерно в три раза. Поэтому PHP вряд ли станет менее популярным в ближайшие несколько лет, так как будет продолжать использоваться для веб-разработки.

Алла Клименко , CEO Mad Devs

Среди наших клиентов PHP все еще пользуется спросом. Как правило, это проекты, которые мы беремся делать не с нуля, а на какой-то стадии для доработки и сопровождения. Если проект приходит с нуля, то наш выбор языка однозначно будет не в пользу PHP. Мы больше работаем с Django, React.js и Golang. Более того, если к нам приходит проект, сделанный на PHP и садится на долгосрочную поддержку и доработку, то рано или поздно мы также стараемся переписать его с нуля. В общем, все зависит от целей и финансовых возможностей заказчика.

Однозначно, PHP еще будет жить. Но разработчикам следует потихоньку все же переключаться на что-то другое.

Дмитрий Сошников , технологический евангелист Microsoft, доцент МФТИ, МАИ, преподаватель детского лагеря JUNIO-R

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

Что касается PHP, то он подходит для определенного круга задач, а именно для веб-сайтов, как правило, не слишком больших. Для больших корпоративных и высоконагруженных систем обычно используют другие технологии, основанные, например, на C# или Java. Кроме того, C# или Java позволят создавать не только веб-сайты, но и мобильные приложения, то есть с точки зрения универсальности они безусловно интереснее для изучения.

Пишем возраст пользователя на php

Создание профиля или личного кабинета пользователя на MVC, PHP и SQL

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

Сначала нужно модернизировать нашу таблицу с пользователями до такого вида:

Добавились два новых поля – ava и role. Поле ava будет хранить название загруженной аватарки пользователя с расширением. Поле role будет содержать статус пользователя: 0 – пользователь, 1 – администратор, 2 – младший модератор, 3 – старший модератор. Если пользователь не авторизирован, то он имеет статус гость.

Добавим маршруты в файл routes.php, он находится в папке config:

Теперь создадим обработчик для страницы профиля, создавать его нужно в файле UserController.php, он находится в папке controllers. Сначала с помощью функции checkAdminId проверяем, авторизирован ли пользователь, если да, то в переменную id_user вернется его id. Далее с помощью функции getUserById, по id записанному в переменной id_user, получаем данные пользователя из таблицы БД и записываем их в п переменную user. Эти данные будут отображаться в полях формы.

Если на странице с формой нажали кнопку «Изменить», то методом POST получаем значение заполненных полей и проверяем, корректно ли введен логин пользователя и не занят ли он. Если да, то проверяем, выбрал ли пользователь аватар, если нет, то ему будет выставлен аватар по умолчанию. Затем будет выполнена функция editUserProfile, она изменит данные в таблице базы данных.

Если же аватар выбран в форме, то мы используем функцию editUserProfileImg. Функция выполнит загрузку нового аватара на сервер и изменит данные в таблице базы данных.

Теперь опишем используемые функции, они будут находиться в папке models в файле News.php:

Функция editUserProfile. Она соединяется с базой данных и производит обновление поля с логином пользователя.

Функция editUserProfileImg. С помощью функции downloadAvatar загружает картинку на сервер и получает в переменную ava_url имя с расширением. Далее выполняет SQL запрос, который обновляет поле с аватаркой и логином пользователя:

Функция downloadAvatar. Эта функция полностью идентична функции загрузки изображений на сервер, разница лишь в пути сохранения изображения:

Функция checkAdminId проверяет, авторизирован ли пользователь, путем проверки существования переменной сессии user. Если переменная существует, то возвращаем значение этой переменной, иначе делаем редирект на страницу авторизации:

Функция getIserById получает данные пользователя из базы данных, по полученному id:

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

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

В браузере эта форма будет выглядеть следующим образом:

Так как наши пароли зашифрованы, да и просто для удобства, создаем форму смены пароля. Создаем ее обработчик в NewsController.php:

В обработчике мы получили введенные в форму пароли, сравнили, равны ли введенные пароли и проверили, чтобы пароль был не короче шести символов. Далее если ошибок нет, то мы используем функцию generateHash, которая шифрует пароль (эта функция была разобрана в статье по созданию регистрации). Затем с помощью функции editPassword (была рассмотрена в этой статье ) меняем пароль в таблице базы данных на новый. Форма страницы редактирования пароля будет реализована так:

В браузере она будет отображаться следующим образом:

В итоге мы получаем профиль пользователя с возможностью смены логина и аватара. Чтобы не создавать функцию downloadAvatar, можно хранить аватарки вместе с загруженными картинками, а это не очень удобно. Лучше сделать проверку какого-то параметра в функции downloadImg и относительно него выбирать путь, по которому будем сохранять аватарку.

Смотрите также дополнительные статьи про MVC

Что нынче должен знать php junior без опыта?

Хотелось бы получать опыт в офисе, около более опытных коллег. Что стоит подучить, дабы составлять конкуренцию(Мск)?
Что имеем:
2 курс колледжа закончил с отличием, планирую перейти на индивидуальный график(заочка по факту).
PHP по книге Котерова «PHP 7.0 в подлиннике».
Github: https://github.com/EvgeniiR

Изучаю Symfony 4 фреймворк. Пока что лишь прочитанная «Getting started» в доке и разобрался с компонентом security. Создал форму регистрации/логина/выхода, проверку авторизации.
Уверенные знания Linux, LAMP стека, использую docker для создания рабочего окружения.
Конечно: MySQL, SQL, Redis, немного jQuery, Vue.js более-менее.
Ориентироваться по вакансиям сложно. Где-то 100500 требований, и php, и wordpress, и битрикс, и js. Не понятно что основное и что важнее, а где-то «знаете php, писали для себя — приходите!».
P.S. Мечтаю конечно работать над серьезными проектами на laravel или даже symfony.
Upd: Да. Забыл упомянуть. Умею писать unit- и функциональные тексты

Upd. Спустя полтора месяца. Итоги:
1. Очень много работодателей даже не заглядывали в резюме. Полагаю это из-за того что был указан возраст 17 лет.
2. За три дня рассылки резюме на hh(разослал в 20 компаний) и выполнив одно тестовое задание получил три отклика.
Сходил на интервью в 2 компании, во вторую получил оффер и через неделю вышел на работу.
По началу не убрал резюме, и за неделю капнула ещё пара откликов.
Успешно работаю на первом своём месте.

Для чего нужны классы?

Не понимаю, для чего нужны классы в PHP?

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

Если все эти функции превратить в методы и засунуть в один класс, что изменится в лучшую сторону или по другому — для чего нужны классы?

8 ответов 8

Пример работы с БД:

Опять же, нужна глобальная переменная $con , проверка результата каждый раз и т.п.

Простенько запускаем, делаем запрос и выводим результат. Красиво, удобно.

(Резюме: классы нужны, чтобы абстрагироваться от сложности задания.)

Вы серьёзно не знаете, для чего нужны классы? Хм. Ну ладно.

Давайте подумаем: что такое программирование? Программирование — это производство. Я имею в виду не учебные задания в стиле «введите строку и посчитайте в ней количество пробелов». Я имею в виду реально большие проекты. В них не так уж часто встречаются особо умные куски кода, зато функциональности много, она не обязательно логично устроена (особенно часто такое бывает, если вы конструируете интерфейс пользователя), и, что немаловажно, проект поддерживают не гении, вроде всех на этом сайте, а обычные программисты.

Это значит, что большая часть времени жизни кода уйдёт на его поддержку, а не начальную разработку.


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

А обыкновенному программисту нелегко работать с длинной сложной функцией, при одном взгляде на неё начинает болеть голова. Он не может держать в голове сразу миллионы понятий и зависимостей! И тут внезапно на помощь приходят классы. Классы позволяют уменьшить сложность. Когда программист разрабатывает класс, он, конечно, думает обо всём классе и держит в голове сразу весь класс. Но когда он разрабатывает другие классы, он думает больше не в терминах «я вызову функцию X, и она установит переменную Y», а в терминах классов: «я беру возраст пользователя», «я рисую эту картинку». Теперь голова болит гораздо меньше: вместо того, чтобы думать о всех функциях в проекте одновременно, программист думает только о немногих публичных функциях немногих публичных интерфейсов. Таким образом, в его коде меньше зависимостей: он не должен думать (вернее должен не думать!) о конкретной реализации возраста пользователя, или там отрисовки картинки, он может про это забыть. Его код становится проще, этот код легче понимать, тестировать и поддерживать.

Илон Маск рекомендует:  PWideString - Тип Delphi

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

При этом эффективность кода может падать по сравнению кодом, учитывающим особенности реализации других классов, но мы сознательно идём на эту жертву: наша цель — чтобы код стал проще, яснее, чтобы он говорил сам за себя!

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

Кроме того, ООП даёт другие плюшки, в виде наследования и полиморфизма, которые, однако, кажутся мне концептуально менее важными. Хотя и очень приятными в использовании.

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

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

Создание регистрации на сайте на PHP + MySQL

Здравствуйте! Сейчас мы попробуем реализовать самую простую регистрацию на сайте с помощью PHP + MySQL. Для этого на вашем компьютере должен быть установлен Apache. Принцип работы нашего скрипта изображен ниже.

1. Начнем с создания таблички users в базе. Она будет содержать данные пользователя (логин и пароль). Зайдем в phpmyadmin (если вы создаете базу на своем ПК http://localhost/phpmyadmin/). Создаем таблицу users, в ней будет 3 поля.

Я создаю ее в базе mysql, вы можете создавать в другой базе. Далее устанавливаем значения, как на рисунке:

Нажимаем «сохранить». Итак, таблица у нас есть.

2. Необходимо соединение с этой таблицей. Давайте создадим файл bd.php. Его содержание:

В моем случае это выглядит так:

Сохраняем bd.php.
Отлично! У нас есть таблица в базе, соединение к ней. Теперь можно приступать к созданию странички, на которой пользователи будут оставлять свои данные.

3. Создаем файл reg.php с содержанием (все комментарии внутри):

4. Создаем файл, который будет заносить данные в базу и сохранять пользователя. save_user.php(комментарии внутри):

5. Теперь наши пользователи могут регистрироваться! Далее необходимо сделать «дверь» для входа на сайт уже зарегистрированным пользователям. index.php (комментарии внутри) :

В файле index.php мы выведем ссылочку, которая будет открыта только для зарегистрированных пользователей. В этом и заключается вся суть скрипта — ограничить доступ к каким-либо данным.

6. Остался файл с проверкой введенного логина и пароля. testreg.php (комментарии внутри):

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

Все проверил, работает исправно!

Автор: Стороженко Евгений (отредактировал и опубликовал Максим Шкурупий)

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.ruseller.com
Автор: Максим Шкурупий
Урок создан: 24 Июля 2009
Просмотров: 10080680
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

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

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Зачем изучать PHP: рейтинг, перспективы, сферы применения

В этой статье поговорим о PHP. Узнаем о перспективах и популярности этого языка, рассмотрим сферу применения, уровень зарплат и другие вопросы. Комментарии известных специалистов помогут развеять сомнения о целесообразности изучения PHP.

Краткая теория: что такое PHP и где он применяется

PHP (от англ. Hypertext Preprocessor) — язык программирования, который изначально создавался для разработки веб-приложений, но эволюционировал в язык общего назначения.

Справка: иногда русскоязычные специалисты произносят название так: «пхп». Конечно, это не совсем верно. Но такое произношение и написание закрепилось в профессиональном жаргоне. Поэтому не удивляйтесь, если услышите фразу «язык программирования пхп».

PHP входит в число языков с динамической типизацией. Это значит, что тип данных определяется не при объявлении переменной, а при присваивании значения. Подробнее о типизации можно узнать в курсе «Введение в программирование».

PHP — интерпретируемый язык. Написанные на нём программы интерпретируются в момент обращения с помощью специальных программ. Интерпретируемые языки не зависят от платформы, но уступают компилируемым языкам в скорости исполнения. Дополнительную информацию об интерпретируемых и компилируемых языках смотрите в курсе «Введение в программирование», ссылка выше.

Область применения PHP

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

Справка: сначала аббревиатура PHP обозначала Personal Home Page. Это отражает основное назначение языка — создание веб-страниц.

На PHP написаны популярные системы управления контентом (CMS), например, WordPress, Joomla!, Drupal. На одном только WordPress’е работает около трети от всех сайтов в интернете. Это подтверждает актуальность и популярность PHP. На этом языке написаны и популярные фреймворки для создания сайтов, например, Laravel, Yii2, Symfony. Наконец, такие масштабные и популярные проекты, как Facebook и «ВКонтакте», тоже созданы на PHP.

Промежуточный итог: PHP — интерпретируемый язык с динамической типизацией. Применяется преимущественно для разработки веб-приложений. На этом языке написаны популярные движки для сайтов и фреймворки.

Популярность и рейтинг PHP

Популярность и востребованность языка прямо влияет на перспективы трудоустройства специалиста. Чтобы оценить популярность PHP, воспользуйтесь специализированными рейтингами, изучите количество вакансий в своём городе или регионе.

Согласно индексу TIOBE, в июне 2020 года PHP входит в десятку самых популярных языков программирования. Этот язык занимает восьмое место, опережая Swift, Ruby, Objective-C.

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

В ежегодном рейтинге GitHub PHP занимает четвёртое место. По частоте использования на GitHub этот язык уступает только JavaScript, Java и Python.

Справка: рейтинг GitHub Octoverse учитывает частоту применения языков пользователями GitHub. То есть он отражает востребованность конкретного языка в сообществе разработчиков.

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

Что будет с популярностью PHP в краткосрочной и долгосрочной перспективе

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

Смотрите сами: по данным W3Tech, в июне 2020 года 60 % из всех сайтов на движках работают на WordPress. Доля Joomla! и Drupal составляет 5,1 и 3,3 % соответственно. Эти CMS написаны на PHP.

Важно: суммарная рыночная доля трёх самых популярных движков составляет 70 %. К ней можно прибавить менее популярные CMS, написанные на PHP, а также сайты на фреймворках, например, Laravel или Yii2.

Системы управления контентом развиваются, работающие на них сайты массово не закроются. Поэтому востребованность PHP в обозримой перспективе будет высокой.

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

Зарплата PHP-программиста: сколько платят

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

Например, по данным компании NewHR, в июне 2020 года средняя зарплата PHP-программиста уровня middle в Москве составила 160–180 тыс. рублей. Senior’ы зарабатывают в среднем 180–240 тыс. рублей. Зарплата team lead’а составляет от 240 тыс. рублей.

По данным сервиса «Мой круг», медианная зарплата PHP-разработчика в конце 2020 года составляла от 30 до 160 тыс. рублей.

Самостоятельно изучить рынок можно с помощью порталов трудоустройства типа hh.ru. Например, по запросу «PHP-программист» в Казани на hh.ru в конце июня 2020 года есть около 100 вакансий с зарплатной вилкой от 30 тыс. рублей до 3,5 тыс. долларов.

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

Сложно ли изучать PHP

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

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

Илон Маск рекомендует:  Что такое код mssql_connect

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

Перспективы PHP: мнения экспертов

Мы попросили известных в PHP-сообществе специалистов поделиться своими взглядами на перспективы языка и актуальность его изучения. Эксперты отвечали на следующие вопросы:

  • По вашему опыту, почему стоит изучать PHP?
  • Какие перспективы у этого языка программирования по сравнению с другими языками?
  • Будет ли он востребован в будущем?
  • Каковы перспективы PHP-разработчика на рынке труда?
  • Почему новичку стоит обратить внимание на этот язык?

С ответами можно ознакомиться ниже.

Евгений Пуха: перспективы у PHP интересные

PHP – довольно хороший вариант для изучения как для новичков в сфере IT, так и для тех, кто работает с другими языками. Синтаксис языка входит в группу C-подобных, а это даёт возможность быстрее понять логику в коде приложений на Java, C#, C++ и так далее. Те же Python и Golang выглядят непривычно, но для тех, кто хочет изучить больше языков — это не преграда.

Если говорить о плюсах PHP, на котором мы делаем большинство проектов, стоит отнести:

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

С точки зрения новичка этот язык хорош ещё и тем, что использует динамическую типизацию и модель «отработал и умер». Это делает менее острой проблему утечек памяти и позволяет писать меньше строк кода, делая универсальные методы и функции, хоть в некоторых случаях и в ущерб архитектуре.

Перспективы у PHP также довольно интересные. С версии 5.3 язык начал очень активно развиваться и приобретать выразительные свойства (пространства имён, примеси, генераторы, опциональный тайп-хинтинг и другое), возможность работы в асинхронном режиме, а в будущих версиях ожидается JIT, FFI, поддержка предзагрузки, полноценная асинхронность.

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

Евгений Пуха, руководитель отдела PHP-разработки AGIMA.

Дмитрий Елисеев: PHP делает всего одну работу, но делает её идеально

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

PHP в этом плане сильно специализированный, так как используется только для разработки сайтов. В такой специализации есть как плюс, так и минус.

Минус в том, что PHP приспособлен только к стандартному для него синхронному однопоточному выполнению в рамках веб-сервера, а остальное пока не очень умеет. Так что как только требуется сделать что-то для него нестандартное, то возникает необходимость эмулировать эти вещи или делать остальные части на других языках вроде серверного JavaScript для асинхронности или Go для многопоточности.

А плюс в том, что хоть он и делает всего одну работу, но делает её идеально. Разработчики самого языка не отвлекаются на посторонние задачи и совершенствуют его только в основном направлении, оптимизируя скорость и привнося только важные для него новшества из других языков. Поэтому в нише скриптовых интерпретируемых веб-языков PHP практически является самым быстрым. Быстрее него уже только языки компилируемые, но будущий PHP 8.0 с JIT-компиляцией, как нам обещает его разработчик Дмитрий Стогов в докладе, вскоре обгонит и их.

К тому же это язык с синтаксисом из семейства более продвинутых Java и C#, что позволяет PHP-программистам учиться у них и при необходимости легко перейти на любой язык этой группы. С Ruby или Python со своим обособленным синтаксисом это будет сделать проблематично.

В PHP переходят хорошие практики из других языков. Создаются и развиваются профессиональные фреймворки. Так что из языка для любительских сайтов он уверенно переходит в нишу быстрых профессиональных веб-проектов, авторам которых не хочется поднимать тяжелые серверы на Java. Учить PHP сейчас или нет? Каждый раз накатывает новая волна технологий и каждый раз снова и снова «хоронят» PHP фразами, что вот-вот очередные Ruby или NodeJS победят PHP. Но десятки лет проходят, а всё никто его не побеждает.

Помимо продвинутого программирования веб-приложений на фреймворках, PHP отличается наличием большого числа CMS для разработки стандартных сайтов. И они никуда исчезать не собираются. Для экзотических задач удобны экзотические языки. А для классических проектов успешно хватает классического PHP. Так что всегда можно сказать, что другие языки приходят и уходят, а PHP, С++ и Java скорее всего вечны. И работы на них всегда будет много.

Дмитрий Елисеев, предприниматель, автор проектов elisdn.ru и deworker.pro.

Александр Сербул: в веб-разработке у PHP нет достойной альтернативы

Я занимаюсь разработкой с нулевых годов. В работе использую преимущественно PHP, также пользуюсь JavaScript, Java, Python и другими языками. Могу сказать, что PHP очень специфичный язык. Он создан специально для веб-разработки, для решения конкретных задач в вебе. PHP решает связанные с веб-разработкой задачи максимально быстро, здесь не нужны тяжеловесные инструменты, как в других языках.

Когда-то PHP был очень простым и достаточно медленным языком. Затем он стал развиваться в сторону Java в плане синтаксиса и поддержки объектно-ориентированного программирования (ООП). Появилось движение в сторону сильной типизации. Разработчики стали понимать, что для больших серьёзных проектов слабая типизация — недостаток.

В плане перспектив языка нужно понимать ситуацию. PHP заточен под веб, а в вебе он конкурирует, например, с JavaScript и Python. Из-за этого есть тенденция снижения зарплат PHP-программистов. Но это временное явление.

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

Но тенденция, как я говорил, временная. PHP не умрёт, так как у него нет альтернатив в веб-разработке. Тот же Python не заточен под веб так, как заточен PHP.

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

Александр Сербул, руководитель направления контроля качества интеграции и внедрений в 1С-Битрикс.

Стоит ли учить PHP: заключение

PHP в обозримой перспективе останется востребованным языком. Его используют в веб-разработке, на PHP написаны популярные движки для сайтов и фреймворки. Это целая инфраструктура, которая требует постоянного участия программистов. Поэтому специалисты по PHP останутся востребованными на рынке труда.

По словам экспертов, язык развивается в сторону ООП, в нем ожидается появление сильной типизации. Это упростит работу над серьёзными масштабными проектами. Поэтому разработчиков на PHP ждут интересные задачи. На Хекслете изучать PHP можно в рамках профессии. Азы можно изучать на нашем бесплатном ресурсе Code Basics.

Пишем возраст пользователя на php

Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

Пишем возраст пользователя на PHP
Как правильно и грамотно написать возраст пользователя на PHP? Например, Сергей, 23 года или Вася, 18 лет. Это не такая уж и простая задача, как может показаться на первый взгляд.

Мне для проекта «Исполни Мечту» понадобилось выводить возраст автора мечты в красивом виде: Сергей, 23 года. Можно было и обойти хитростью и написать что-то типа: Сергей, возраст:23. Но это как-то не солидно и чувствуется «техническая сухость» языка. И я решил выводить возраст «правильно». Как вы знаете от количества лет зависит и слово (лет, год или года), потому что 25 лет, 21 год и т.д. Думал сейчас быстренько в интернете найду такую функцию и все будет ок. Но на мое удивление я не нашел такой функции ни в одном примере.

Я Вооружился ручкой и бумагой, немного времени и закономерность найдена. Функция готова. Мне нужно было писать возраст до 100 лет. Так что для этого возраста функция работает :) я проверял.

По моим предположениям, она должна работать для любого количества лет.
Вот функция:
function AgeToStr($Age)
<
if(($Age>=5) && ($Age =2) && ($num =5) && ($num • Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •

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

Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь .

Создание ролей пользователей на сайте

Привет друзья. Хочу поговорить с вами о методе разграничения прав пользователей на сайте, а точнее о ролях пользователей.

Роль пользователя это совокупность прав и разрешений выданные той или иной роли описанной в информационной системе.

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

Самые распространённые роли это:

  • Администратор
  • Модератор
  • Пользователь
  • Гость

И так друзья, что мы сможем делать с помощью ролей на нашем сайте? А все что угодно. Например вы можете показывать какую-то часть контента не зарегистрированному пользователю. Если пользователь прошёл регистрацию и авторизовался в системе, то его привилегии увеличиваются в плане доступа к контенту и он уже может просматривать более подробный контент вашего ресурса (например фотогалерею, оставлять комментарии и т.д). Все зависит от вашей фантазии и того что хотите показать пользователю или на оборот спрятать от него.

Переходя от слов к делу нам понадобится — Регистрация пользователей PHP MySQL с активацией письмом. Данный скрипт в версии с PDO мы будем модернизировать для создания авторизации с ролью пользователя. Мы немного модернизируем нашу табличку где у нас хранятся пользователи. Создадим еще две таблички – это таблица ролей пользователей и таблица с контентом.

И так, создадим таблицы в нашей базе данных. У меня это таблицы:

  • Bez_reg
  • Bez_role
  • Bez_content

В таблице bez_reg в конце добавляем поле role, где собственно и будет привязка пользователя к роли.

Далее создаем таблицу bez_role, где напишим названия наших ролей:

  • Администратор
  • Модератор
  • Пользователь

Данный трех ролей нам будет достаточно, чтобы система ролей работала. Создаем третью таблицу bez_contnet, здесь будет храниться контент и роли пользователей которым можно просматривать данный контент.

С таблицами разобрались, теперь нужно нам сделать себя администраторами т.к. по идее при импорте базы данных у вас должна быть учетная запись по умолчанию с ролью администратор, но так как мы делаем все сами, то нам не лень залезть в базу и сделать себя админом )).

Регистрируемся через форму регистрации, активируем свой аккаунт изменив поле status = 1 и делаем себя администратором установив в поле role = 1.

Далее заполняете таблицу bez_contnet, произвольным текстом, при этом в поле role через запятую указываете те роли которым разрешен доступ на просмотр данного контента. У меня администратор может просматривать все статьи, модератор только первую статью, пользователь только вторую статью.

С созданием нужных таблиц разобрались, теперь нужно немного поправить скрипт авторизации. Для это переходим в папку ./scripts/auth/auth.php ищим запрос к базе данных

Заменяем на новый запрос к базе данных

Далее добавляем нужные сессионые переменные для работы с авторизированным пользователем.

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
Рейтинги