PHP: делаем "мини-БД" на текстовом файле. Добавление полей в профиль в админке: facebook, twitter

Зачастую на Web – сайтах можно встретить страницы с размещенными на них HTML - формами. Веб-формы – удобный способ получения информации от посетителей вашего сайта. Пример тому – гостевая книга , – которая обеспечивает обратную связь с посетителями и разработчиками сайта. Формы так же удобны и для разработчиков сайта при разработке CMS, которая позволяет поддерживать главное свойство сайта - актуальность. Данная статья посвящена основам создания HTML-форм, их обработке и способам передачи данных из экранных форм в PHP-сценарии.

1) Создание простой формы

Теги

и
задают начало и конец формы. Начинающий форму тег
содержит два атрибута: action и method . Атрибут action содержит адрес URL сценария, который должен быть вызван для обработки сценария. Атрибут method указывает браузеру, какой вид HTTP запроса необходимо использовать для отправки формы; возможны значения POST и GET .

Замечание

Главное отличие методов POST и GET заключается в способе передачи информации. В методе GET параметры передаются через адресную строку, т.е. по сути в HTTP-заголовке запроса, в то время как в методе POST параметры передаются через тело HTTP-запроса и никак не отражаются на виде адресной строки.

$text = nl2br ($_POST [ "mytext" ]);
?>

Задача: Пусть необходимо создать выпадающий список с годами с 2000 по 2050.
Решение: Необходимо создать HTML форму c элементом SELECT и PHP – сценарий для обработки формы.

Обсуждение:

Для начала создадим два файла: form.html и action.php . В файле form.html будет содержаться html-форма с выпадающим списком. Причем значения в списке можно указать двумя способами:

I. Ввод данных вручную:

II. Ввод данных через цикл:

Как видно, второй пример с циклом, более компактный. Думаю, не стоит приводить скрипт обработчика данной формы, потому что он обрабатывается точно так же как текстовое поле, т.е. значения списка можно извлечь из суперглобального массива $_POST .

Описание:

Создадим HTML-форму для отправки файла на сервер.




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

Затем необходимо написать сценарий обработчик action.php . Перед написание обработчика необходимо определиться в какой каталог мы будет копировать файл:

if(isset($_FILES [ "myfile" ])) // Если файл существует
{
$catalog = "../image/" ; // Наш каталог
if (is_dir ($catalog )) // Если такой каталог есть
{
$myfile = $_FILES [ "myfile" ][ "tmp_name" ]; // Времменый файл
$myfile_name = $_FILES [ "myfile" ][ "name" ]; // Имя файла
if(! copy ($myfile , $catalog )) echo "Ошибка при копировании файла " . $myfile_name // Если неудалось скопировать файл
}
else mkdir ("../image/" ); // Если такого каталога нет, то мы его создадим
}
?>

Замечание

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

Данный пример демонстрирует создание каталога и копирование файла в этот каталог на сервер.

Также хотел бы продемонстрировать пример с элементом checkbox . Этот элемент немного отличается от других элементов тем, что если не один из элементов checkbox ’a не выбран, то суперглобальная переменная $_POST вернет пустое значение:


Синий
Черный
Белый

if (!empty($_POST [ "mycolor" ])) echo $_POST [ "mycolor" ]; // Если выбран хоть 1 элемент
else echo "Выберите значение" ;
?>




Есть еще вопросы или что-то непонятно - добро пожаловать на наш

At Cheat Happens

Hottest Stuff On CheatCC!


Hottest Stuff On CheatCC!


Level select

Note: This procedure involves editing a game file; create a backup copy of the file before proceeding. Use a text editor to edit the "hitman2.ini" file in the game folder. Locate the "DefaultScene=AllLevels/logos.gms" entry and change it to "DefaultScene=AllLevels/levelmenu.gms". All levels will be marked as completed and a level selection menu will be unlocked.

Level skip

Note:

", where is an uppercase letter. Begin a game and change to third person view or use the sniper scope or binoculars. Press that key and the current level will be marked as completed.

Teleport

Note: This procedure involves editing a game file; create a backup copy of the file before proceeding. Use a text editor to edit the "keyboard.cfg" file in the game folder. Locate the following group of text:

Change the "K_NEXT" text to "K_ ", where is an uppercase letter. Begin a game and change to third person view or use the sniper scope or binoculars. Press that key and 47 will teleport where the crosshairs are on flat solid ground.

Silenced ballers gun

Successfully complete a level with a "Silent Assassin" rank to unlock the silenced ballers gun.

Sawed-off shotgun

Successfully complete a level with a "Silent Assassin" rank twice to unlock the sawed-off shotgun.

M4

Successfully complete five levels with a "Silent Assassin" rank to get the M4. Alternately, successfully complete the Shogun Showdown level with a "Silent Assassin" rank. Alternately, successfully complete the St. Petersburg Stakeout, Tubeway Torpedo, and Invitation to a Party levels with a "Silent Assassin" rank all in one session.

Gun collection

Throughout all the levels you will run into many different types of guns. Whenever you see a gun that you do not already have, pick it up. After you complete the level on which you found the gun, the gun will now be available at your house. You will have ammunition in the room for you to use if desired. However, there are many guns that are too big to carry inside your clothes and therefore must be held in the open. You will not be able to pick up a gun of the same size or greater without dropping the one you are holding. You will find other guns on the same level that you cannot pick up because you are already holding one, and the gun you want is simply too big to conceal. In this case, you will have to decide which gun you want more then finish the level with it. You can always replay that level to get the other gun that was left behind.

Cheat Codes

Note: This procedure involves editing a game file; create a backup copy of the file before proceeding. Use a text editor to edit the "hitman2.ini" file in the game folder. Add the line "EnableCheats 1" (case-sensitive) to the bottom of the file. Type one of the following case-sensitive codes while playing the game to activate the corresponding cheat function:

Result Cheat Code
Toggle God mode (US keyboard) IOIRULEZ
Toggle God mode (European keyboard) IOIRULEY
All weapons and items IOIGIVES
Full ammunition IOIEQPWEAP
Refill health IOIHITLEIF
Toggle slow motion enemy death IOISLO
Toggle bomb mode IOIER
Enable punching IOIHITALI
Toggle lethal mode IOILEPOW
Toggle gravity IOIGRV
All guns act as nail guns IOINGUN
Toggle megastrength weapons IOIPOWER

From: [email protected], [email protected], and [email protected]

Cheat Codes (demo version)

Note: This procedure involves editing a game file; create a backup copy of the file before proceeding. Use a text editor to edit the "hitman2.ini" file in the game folder. Add the line "enableconsole 1" at the bottom of the file. While playing the game, press ~ , then enter one of the following codes at the console window to activate the corresponding cheat function:

Result Cheat Code
Toggle God mode god
Toggle debug mode ipdebug
Toggle Invisibility invisible
Infinite ammunition infammo
All weapons giveall

HitmanPro обнаруживает, идентифицирует и удаляет вирусы, шпионские программы, трояны, руткиты и другие вредоносные программы.

Утилита использует собственный движок поведенческого анализа и экспертизы файлового кластера, а также инновационную облачную технологию проверки с помощью антивирусных баз данных SophosLabs, Kaspersky и Bitdefender. Сканер HitmanPro обнаруживает и удаляет потенциально вредоносные угрозы с минимальным влиянием на производительность системы.

* HitmanPro - бесплатный антивирусный сканер. Функция удаления доступна 30 дней бесплатно.

Основные возможности HitmanPro

Может ли ваш антивирус справиться с новейшими угрозами?

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

Поведенческое обнаружение + коллективный опыт

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

Без установки

HitmanPro занимает 12 мегабайт и не требует установки. Программу можно запустить прямо с рабочего стола, USB-диска, CD/DVD или удаленного хранилища. Даже если ваш антивирус контролируется вредоносной программой или шифровальщиком, HitmanPro будет работать корректно и сможет обнаруживать и удалять угрозы.

Комплексное восстановление

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

Награды в тестировании

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

Раньше для использования SSI, названия страниц сайта должны были заканчиваться расширением.shtml , но сегодня большинство интернет-серверов сконфигурированы так, что SSI можно использовать и на страницах с расширением.html , что весьма удобно. С PHP совсем другая история — расширение.php является расширением по умолчанию. Разработчики сайтов, заранее зная, что будет использоваться данный язык программирования, стразу присваивают правильное расширение.

Но что делать, когда все страницы заканчиваются расширением.html ?

Заменяем расширение HTML на PHP

Это можно сделать несколькими способами. Самый явный способ — дать всем страницам расширение.php или изменить уже существующие расширения (.html, .shtml и т.д.). У этого способа есть недостатки. Например уже проиндексированным страницам с расширением.html придётся заново индексироваться поисковыми системами. Или ещё хуже — все внешние ссылки, которые ссылаются явным образом на ту или иную страницу, будут недействительны. И придется оповещать владельцев каждого сайта об этих изменениях и создавать для каждой страницы еще одну страницу с 301 ошибкой. Конечно, изменить одно расширение на другое допустимо, но что делать если сайт уже имеет много страниц и много ссылок на разные страницы с других сайтов?

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

Можно обойтись и другим способом. Если сервер, на котором размещается сайт, поддерживает mod_rewrite (в большинстве случаев поддерживает), и есть доступ к файлу.htaccess , то можно добавить следующие строки в этот самый файл:

RewriteEngine on RewriteRule ^(.*)\.html $1\.php

Добавив этот код в.htaccess , можно не волноваться. Все запрашиваемые несуществующие страницы с расширением.html будут автоматически заменяться расширением.php благодаря чудесам от Apache. Но и этот способ является не единственным. Можно прописать следующее в том же самом.htaccess файле:

AddHandler application/x-httpd-php .php .html .htm

На мой взгляд самый удачный способ. Это делает HTML-страницы равными PHP-страницам, то есть все функции PHP теперь могут быть использованы на страницах с расширением HTML. Если нет доступа к файлу.htaccess , то можно написать письмо хостинг компании, и вежливо попросить админов прописать в конфигурации Apache (httpd.conf) нужное значение для сайта.

Кстати, если до этого на сайте использовалось SSI следующим образом:

то тогда в новом PHP’шном состоянии этот код нужно заменить на:

Ну вот и всё, думаю какой-нибудь из вышеприведённых способов поможет.

Похожие статьи

  • Три способа подключения «Мобильного банка» от Сбербанка

    Мобильный банк — такой же важный инструмент управления своими деньгами, как и сервис Сбербанк онлайн. Тем более, второй без первого практически не работает! Пакет «Эконом» берет с клиента 15 рублей за проверку последней операции на карте и...

  • Что такое яндекс директ и как он работает

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

  • Управление ставками Яндекс

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

  • Планшет самсунг стал долго заряжаться

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

  • LTE — что это такое в телефоне, как пользоваться Какой лучше 4g или lte

    В Украине скоро заработает связь нового поколения. Мы уже , как определить совместимость смартфона с 4G, а также о семи нюансах работы технологии в Украине. Теперь редакция объясняет, в чем разница между 4G и LTE. #1. Что такое 4G? 4G -...

  • Можно ли заряжать телефон (смартфон) от компьютера через USB-порт?

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