Buderus-trade.ru

Теплотехника Будерус
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Скриптам лучше в подвал

Скриптам лучше в подвал

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

В практическом смысле скрипт — это код, который описывает последовательность действий, который браузер выполняет в соответствии со сценарием (само слово «script» переводится как «сценарий»). Скрипты пишутся на языках программирования (например, php, Perl, JavaScript).

Если скрипт простой, то его код прописывается прямо в html-коде страницы в теге . А если скрипт сложный, то его выносят в отдельный файл, а в HTML указывается путь к этому файлу.

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

    Существует три варианта мест в HTML структуре страницы, куда можно вставить скрипт:
  • Между тегами , то есть в «шапку» сайта.
  • В теле документа, между тегами body
  • Между тегами footer, то есть в «подвал» сайта.

Лучше выбрать третий вариант и вот почему.

Скрипт — это всегда дополнительная нагрузка на сайт. Подключение скриптов добавляет не только функции, но и веса странице, и соответственно увеличивает время ее загрузки. Чем больше скриптов, тем меньше скорости загрузки.

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

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

Разработка seo-сайтовРазработка SEO-сайтов с пожизненной гарантиейСоздаем невероятные SEO-сайты, оптимизированные по 69 параметрам уже на этапе разработки

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

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

Асинхронная и отложенная работа скриптов устанавливается специальными атрибутами, которые прописываются в теге .

Определить, по какой модели действовать, сможет только опытный разработчик.

Нужен настоящий SEO-сайт и интернет-реклама ? Пишите, звоните:

Наша почта:
Единая справочная: 8 (843) 2-588-132
WhatsApp: +7 (960) 048 81 32
Оставить заявку

Сессии в PHP

В протоколе HTTP не сохраняется информация о предыдущих операциях. Поэтому, чтобы обмениваться информацией между различными веб страницами, PHP скриптами, нужно использовать специальный механизм сессий в PHP. Механизм сессии в PHP позволяет сохранять и передавать значения переменных между различными PHP скриптами. Таким образом, сессии позволяют хранить сведения о пользователях при переходах между несколькими страницами веб сайта. Механизм сессии широко используется в интернет магазинах для сохранения корзины пользователя, форм авторизации сайта, также позволяет веб сайту защититься от спама и накруток.
Общий алгоритм работы с сессиями в PHP
В начале PHP скрипта открываем сессию с помощью команды session_start();
Регистрируем переменную в глобальном массиве $_SESSION[] с помощью команды
if (!isset($_SESSION['имя переменной'])) $_SESSION['имя переменной']=начальное значение;
Чтобы использовать переменную в любом скрипте, обращаемся к ней с помощью команды
$_SESSION['имя переменной']
Рассмотрим пример PHP скрипта с сессиями, в котором подсчитывается количество посещений страниц сайта. У сайта будет две страницы — index.php и page.php.
Для страницы index.php код следующий
<?
session_start();
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
$_SESSION['counter']=$_SESSION['counter']+1;
echo "<br />Вы на скрипте index.php";
echo "<br /> Вы были на страницах сайта ".$_SESSION['counter']." раз. ";
echo "<br /><a href=".$_SERVER['PHP_SELF'].">Обновить эту страницу";
echo "<br /><a href=page.php>Ссылка на страницу page.php </a>";
?>
Для страницы page.php код следующий
<?
session_start();
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
$_SESSION['counter']=$_SESSION['counter']+1;
echo "<br />Вы на скрипте page.php";
echo "<br />Вы были на страницах сайта ".$_SESSION['counter']." раз. ";
echo "<br /><a href=".$_SERVER['PHP_SELF'].">Обновить эту страницу";
echo "<br /><a href=index.php>Ссылка на страницу index.php</a>";
?>

В index.php мы ввели переменную $_SESSION['counter'] , в которую будет подсчитываться количество посещений страниц сайта.
В начале каждого скрипта открывается сессия
session_start();
Регистрируем переменную сессии $_SESSION['counter']
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
Увеличиваем счётчик посещений на 1
$_SESSION['counter']=$_SESSION['counter']+1;
Выводим на веб страницу, сколько раз на страницах сайта был пользователь
echo "<br /> Вы были на страницах сайта ".$_SESSION['counter']." раз. ";
Формируем ссылки для обновления страницы и перехода на другой скрипт
echo "<br /><a href=".$_SERVER['PHP_SELF'].">Обновить эту страницу";
echo "<br /><a href=page.php>Ссылка на страницу page.php </a>";
Вывод на веб странице index.php
скрипт счетчика на php
Переходим на страницу page.php
пример работы сессии
Алгоритм сессии в PHP используется для авторизации на сайте, для того, чтобы имя пользователя сохранялось в сессии. Напишем простейший пример использования сессий в PHP для авторизации. В скрипте index.php добавим форму, в которой вводится имя пользователя. Подробнее о работе с формами в PHP
<form>
<p> Как вас зовут? </p>
<input type="text" name="name">
<br><br>
<input type="submit" name="sub" value="Отправить!">
</form>
Зарегистрируем переменную сессии, отвечающую за имя пользователя, и присвоим ей значение, полученное из HTML формы
if(isset($_GET['sub'])) <
$_SESSION['name']=$_GET['name'];
>
Теперь мы можем использовать переменную, отвечающую за имя пользователя на всех страницах.
echo "<br /> <$_SESSION['name']>, вы были на страницах сайта ".$_SESSION['counter']." раз. ";
Полный код PHP скрипта index.php
<?
session_start();
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
$_SESSION['counter']=$_SESSION['counter']+1;
?>
<form>
<p> Как вас зовут? </p>
<input type="text" name="name">
<br><br>
<input type="submit" name="sub" value="Отправить!">
</form>
<?
if(isset($_GET['sub'])) <
$_SESSION['name']=$_GET['name'];
>
echo "<br />Вы на скрипте index.php";
echo "<br /> <$_SESSION['name']>, вы были на страницах сайта ".$_SESSION['counter']." раз. ";
echo "<br /><a href=".$_SERVER['PHP_SELF'].">Обновить эту страницу";
echo "<br /><a href=page.php>Ссылка на страницу page.php </a>";
?>
Полный код скрипта page.php
<?
session_start();
if (!isset($_SESSION['counter'])) $_SESSION['counter']=0;
$_SESSION['counter']=$_SESSION['counter']+1;
echo "<br />Вы на скрипте page.php";
echo "<br /><$_SESSION['name']>, вы были на страницах сайта ".$_SESSION['counter']." раз. ";
echo "<br /><a href=".$_SERVER['PHP_SELF'].">Обновить эту страницу";
echo "<br /><a href=index.php>Ссылка на страницу index.php</a>";
?>
Чтобы избежать ошибок, связанных с заголовками header, необходимо сохранять скрипты в кодировке UTF-8 без BOM при помощи редактора Notepad++.
сохранение php скрипта в кодировке utf-8 без BOM
Пример вывода страницы index.php
пример страницы авторизации
Пример вывода страницы page.php

Читайте так же:
Сброс счетчика бразер 2090

Счетчик посещений сайта «PowerCounter»

Представляем вашему вниманию полнофункциональную систему контроля посещаемости сайта. Web-приложение разработано при помощи PHP и представляет собой достаточно мощную систему сбора и анализа информации о посетителях сайта. Данный счетчик посетителей был разработан сотрудниками IT-студии SoftTime при активном участии Левина А.В. (loki_angel@mail.ru, http://alna.spb.ru), который буквально вдохнул в него вторую жизнь.

В настоящий момент счётчик используется для сбора статистики и анализа схем раскрутки многих сайтов, в том числе и http://www.softtime.ru. Это не просто счётчик — это современный инструмент, позволяющий отслеживать потоки посетителей на вашем сайте, сколько страниц они просматиривают, сколько времени пребывают на сайте, откуда они попадают на ваш сайт, с других сайтов или с поисковых систем, а какие ключевые слова используются? На все эти вопросы ответит данный счётчик. Преимуществом встроенного счётчика является то, что он в отличие от внешних, таких как rambler.ru, mail.ru или hotlog фиксирует всех посетителей, а не тех, которые загрузили изображение-баннер. Поэтому из статистики вы узнаете и о том, посещали ли вас роботы поисковых систем, или используют ли пользователи менеджеры закачек, чтобы передрать весь сайт себе на машину и больше вас не посещать :).

Счетчик посещений ведёт сбор информации о посетителях сайта, отображает общее и засчитанное количество хостов, общее и засчитанное число хитов, как по отдельным страницам, так и сайту в целом. Кроме того, производится сбор и вывод информации об используемых посетителями операционных систем и браузеров. Регистрируются посещения роботов наиболее известных поисковых систем: Yandex, Rambler, Google, Aport и MSN, а так же страницы, которые они проиндексировали. Выводятся ключевые слова, по которым посетители нашили Ваш ресурс в поисковых системах. Кроме того, ключевые слова сортируются по частоте запросов и вы может оценивать адекватность вашей аудитории. Грубо говоря, если ваш сайт посвящён фиалкам, а вас находят по запросу «Цветной телевизор Горизонт», можно быть уверенным, что посетитель не задержится на сайте дольше, чем требуется времени для нажатие на крестик в правом верхнем углу экрана, и нужно что-то срочно делать с оптимизацией страниц по поисковые системы. Если эта работа вам в диковинку, вы можете обратится на форум IT-студии SoftTime, который поддерживается авторами нескольких книг по сетевому программированию. Вам обязательно помогут и не будут предлагать переработать 20 000 страниц мануалов и прочесть 26 книг, и лишь затем задавать вопросы.

Информация предоставляется за 5 временных интервалов: «Сегодня», «Вчера», «за 7 дней», «за 30 дней» и «за всё время». Для большинства отчётов выводится посуточная, понедельная и помесячная статистика.

Текущая версия 4.2.0. Дата последнего обновления: 12.06.2011.

Текущая версия 4.1.0. Дата последнего обновления: 12.06.2011.

Текущая версия 4.0.0. Дата последнего обновления: 12.06.2011.

Системные требования

PHP (как модуль) версии не ниже 5.0

MySQL версии не ниже 5.0

Что нового в PowerCounter 4.0

Система полностью переписана с использованием набора классов SoftTime FrameWork, свежие версии которого можно найти по ссылке. Набор классов описывается в книге «Кузнецов Максим, Симдянов Игорь. Объектно- ориентированное программирование на PHP».

Читайте так же:
Общество с ограниченной ответственностью водоучет поверка счетчиков

В версии 4.0 была исправлена подсистема сбора информации, позволяющая собирать запросы ото всех поисковых систем в корректной кодировке.

Исправлен сбор статистики по поисковым роботам Google.

Значительно усилена усточнивость механизма архивации данных.

Разработана страница рефереров для текущего дня.

Установка счетчика посещений

Система мониторинга является фрагментом системы управления сайтом, описываемой в книге «PHP. Практика создания Web-сайтов» и по умолчанию защищена паролем.

Для успешного функционирования счётчика, необходимо создать базу данных (по умолчанию count), в которой следует разместить таблицы из файла PowerCoutner.sql. На разных хостингах базы данных создаются по-разному: посредством web-интерфейса, по запросу администратору, командой SQL (create database count;).

Размещение таблиц из базы файла PowerCoutner.sql удобно проводить через панель управления phpMyAdmin, установленной на подавляющем большинстве хост-площадок. Следует выбрать базу данных, перейти в пункт меню SQL, поместить содержимое файла account.sql в текстовую область и нажать кнопку «выполнить».

Настройка соединения с базой данных осуществляется в файле config/config.php и count.php, в которых необходимо выставить адрес сервера MySQL ($dblocation), имя базы данных ($dbname), имя пользователя ($dbuser) и пароль ($dbpasswd). Все четыре переменные Вам должен предоставить хостинг. Для того, чтобы страница на сайте учитывалась счётчиком необходимо в начало этой страницы включить файл count.php:

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

Если перед файлом включением файла при помощи инструкции require_once поместить имя страницы в переменной $titlepage, в отчётах системы, данная страница будет участвовать под этим именем. Более того, вы можете объединять несколько страниц в одну строку, присваивая им одинаковые названия.

Отдельно следует упомянуть архивацию рабочих таблиц в суточные, недельные и месячные таблицы. Сжатие происходит в после 0:00, при первом посещении страницы администрирования. Однако вы можете самостоятельно заставить систему сжимать данные по cron — за этот процесс ответственнен скрипт admin/archive.php. Привязав его к cron вы заставите систему архивировать данные самостоятельно. Однако если это вовсе не обязательно, вы можете просто посещать систему администрирования время от времени и система сама всё сделает.

Проблемы при инсталляции

Следует помнить, что сервера — это не клиентские машины с Windows XP, они и их настройки часто отличаются друг от друга. Поэтому возникновение проблем очень вероятно и связаны они в первую очередь с нестандартными серверными настройками переменных. Поэтому если что-то не считается и не учитывается, следует либо брать в руки PHP-функцию phpinfo() и лезть в count.php и исправлять переменные на те, которые вы откопате в отчёте phpinfo(), в тех.поддержке и т.п., либо если это слишком сложно для вас (а копаться в чужом коде не просто и все это понимают) вы можете смело обращаться на форум http://www.softtim.ru/forum/, где разработчики PowerCounter помогут вам модифицировать count.php под ваш сервер.

Модификация

По умолчанию, счётчик считает страницы, отличающиеся только параметрами за одну страницу, например страницы

будут считаться как одна и та же страница (index.php), со всеми вытекающими. Для того, чтобы такие страницы считались как разные необходимо в кодах всего счётчика заменить $_SERVER[‘PHP_SELF’] на $_SERVER[‘REQUEST_URI’] — можно просто открыть каждый файл в блокноте и воспользоваться функцией автозамены.

Сжатие базы данных по cron-заданию

При штатной работе PowerCounter данные сжимаются в архивные таблицы при первом заходе посетителя после полуночи. Это может быть неудобным из-за длительности данной операции или привязки панели статистики сайта к архивным суточным таблицам. Для того, чтобы процесс архивации протекал автоматически, можно воспользоваться cron – планировщиком задач в UNIX-системах. У разных хост-провайдеров разный порядок постановки cron-заданий, который следует уточнить у службы технической поддержки или в OnLine-документации. В классическом варианте задание сводится к строке вида

Где последовательность 0 5 * * * означает что задание будет запускаться каждый день в 0 часов 5 минут. После чего следует путь к скрипту cron.php (иногда его может предварять путь к PHP-интерпретатору, это нужно уточнять на каждом хостинге отдельно). Файл cron.php должен быть помечен как исполняемый (права доступа: rwxr-xr-x или 0755).

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

Последние четыре параметра относятся к базе данных, первый параметр настраивает абсолютный путь к директории с библиотеками, нужными для сжатия базы данных. Так как PHP-интерпретатор в cron-заданиях действует вне среды сервера, скрипт не видит соседние файлы, поэтому путь в $abspath следует указывать абсолютный, от начала диска (посмотреть его можно в отчетах функции phpinfo()).

Читайте так же:
Импульс 3101 счетчик банкнот

Администрирование счетчика посещений

Контролировать посещаемость ресурса можно на странице администрирования счётчика расположенной в папке dmn, на которую наложен пароль. По умолчанию логин root, пароль также root. Изменить логин и пароль можно в разделе «Управление аккаунтами».

Для защиты используется basic-авторизация, которая не работает, если PHP подключен как CGI-скрипт. В этом случае для защиты следует воспользоваться средствами Web-сервера Apache. Подробнее об этом можно почитать в статье http://www.softtime.ru/info/articlephp.php?id_article=27 или обратившись на форум http://www.softtime.ru/forum/index.php?id_forum=5.

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

Меню состоит из следующих пунктов:

— «Хиты и хосты» (посуточный, понедельный, помесячный отчёты),

— «Системы и браузеры» (посуточный, понедельный, помесячный отчёты),

— «IP-адреса и хосты» (посуточный, понедельный, помесячный отчёты),

— «Поисковые роботы» (посуточный, понедельный, помесячный отчёты),

— «Поисковые запросы» (посуточный, понедельный, помесячный отчёты),

— «Статистика поисковых запросов»,

— «Рефереры» (посуточный, понедельный, помесячный отчёты),

— «Глубина просмотра» (посуточный, понедельный, помесячный отчёты),

— «Время сеанса» (посуточный, понедельный, помесячный отчёты).

Переход к странице «Почтовый отчёт»
приводит к странице, позволяющей отправить почтовые отчёты за вчерашний день, прошедшую неделю, прошедший месяц на почтовый ящик администратора, задать который можно в константе EMAIL_ADDRESS в конфигурационном файле admin/config.php.

Переход к странице «Хиты и хосты»
приводит к странице с таблицей, в которой указано количество хостов, засчитанное и общее число хитов за 5 временных интервалов: «Сегодня», «Вчера», «за 7 дней», «за 30 дней» и «за всё время» для данной страницы сайта. Переход по гиперссылкам «Сегодня» и «Вчера» приводит к странице распределения хостов и хитов по часам в эти дни. Соответственно, переход по гиперссылкам «за 7 дней» и «за 30 дней» приводит к таблице с динамикой изменения количества хитов и хостов за неделю и за месяц.

Переход к странице «Системы и браузеры»
приводит к странице с таблицей, в которой указано количество посетителей использующих в качестве операционных систем Windows, один из вариантов UNIX и Macintosh, а также пользующихся браузерами Internet Explorer, Opera, Netscape, Firefox, MyIE и Mozilla за 5 временных интервалов: «Сегодня», «Вчера», «за 7 дней», «за 30 дней» и «за всё время» для данной страницы сайта.

На странице «IP-адреса и хосты»
приводится таблица с IP-адресами посетителей за последние сутки. Для каждого IP-адреса предоставляется информация о хосте, дате последнего посещения и общем числе посещений с данного IP-адреса.

На странице «Поисковые роботы»
выводится таблица посещения ресурса роботами наиболее известных поисковых систем (Yandex, Rambler, Google, Aport и MSN) за 5 временных интервалов: «Сегодня», «Вчера», «за 7 дней», «за 30 дней» и «за всё время» для данной страницы сайта. Кроме того, по ссылкам можно проследить какие страницы были проиндексированы роботами поисковых систем.

На странице «Поисковые запросы»
выводится таблица с информацией о числе поисковых запросов и сами ключевые слова, по которым ваш ресурс был обнаружен для поисковых систем Yandex, Rambler, Google, Aport, Mail.ru и MSN), так и для каждой в отдельности.

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

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

На странице «Глубина просмотра»
можно выяснить интерес посетителей к вашему сайту. Данная страница предоставит информацию о числе посетителей просмотревших 1, 2, 3 и т.д страниц вашего сайта. Статистика выводится за 5 временных интервалов: «Сегодня», «Вчера», «за 7 дней», «за 30 дней» и «за всё время».

На странице «Время сеанса»
можно выяснить сколько времени проводят посетители на вашем сайте. Данная страница предоставит информацию о числе посетителей пробывших на сайте 1, 2, 3 минуты . или возможно несколько часов. в и т.д страниц вашего сайта. Статистика выводится за 5 временных интервалов: «Сегодня», «Вчера», «за 7 дней», «за 30 дней» и «за всё время».

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

Читайте так же:
Значность счетчика энергомера цэ6803в

Создание тестовой системы и счетчика посещений страницы средствами CGI и PHP (CGI-модуль и PHP-скрипт психологического теста)

Во всех вариантах задания необходимо разработать CGI-модуль и PHP-скрипт.

CGI. Любой психологический тест и текстовый счетчик посещения страницы.

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

Структура CGI – модуля

Этот модуль состоит из трех исполняемых файлов:

l test_print.exe ­ стартовая страница психологического теста, в которой частично происходит обработка результатов теста, при помощи тега iframe на странице отображается текстовый счетчик посещения страниц;

l test_result.exe – страница, отображающая результаты теста;

l test_visit.exe – текстовый счетчик посещения страниц.

Структура PHP – скрипта

Этот модуль состоит из двух скриптов:

l test_print.php ­ стартовая страница психологического теста;

l test_result.php – страница, отображающая результаты теста; при повторном входе пользователя отображается его предыдущий результат, также отображается список качеств в порядке убывания (то есть первый в списке – это наиболее развитое качество).

Обработка результатов

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

Выводы по работе

l Доступ к переменной окружения в PHP реализован проще, так как внутренние механизмы PHP сами разбивают строку на внутренние переменные.

l Отладка CGI-модуля чрезвычайно сложная процедура. PHP-скрипты отлаживать гораздо легче.

l Типы данных в PHP присваиваются автоматически в зависимости от контекста. Механизм доступа к значению переменной похож на язык Bash для Unix. А в языке C типы данных присваиваются «руками».

l PHP достаточно легок в изучении благодаря схожести синтаксиса с языком C.

Исходные тексты стартовых страниц

//Вопросы на тест

"Самооценка структуры темперамента",

"Бывает, что вы говорите о вещах, в которых не совсем разбираетесь?">;

void print_answer_form(int i)

cout << "<input type = radio name = Answer value = 1 onclick = ‘javascript:checking(answer_form_" << i << ");’> да" << endl;

cout << "<br><input type = radio name = Answer value = 0 onclick = ‘javascript:checking(answer_form_" << i << ");’> нет" << endl;

cout << "<form name = submit_form action = http://localhost/cgi/test_result.exe method = get>" << endl;

cout << "<input type = hidden name = iskren_hidden>" << endl;

cout << "<input type = hidden name = extrav_hidden>" << endl;

cout << "<input type = hidden name = rigid_hidden>" << endl;

cout << "<input type = hidden name = emo_vozb_hidden>" << endl;

cout << "<input type = hidden name = temp_reak_hidden>" << endl;

cout << "<input type = hidden name = aktiv_hidden>" << endl;

cout << "<input type = submit value = ‘Получить результаты теста’ onclick = ‘javascript:update_submit_form();’>" << endl;

cout << "var iskren = 0" << endl; //Искренность

cout << "var extrav = 0" << endl; //Экстраверсия

cout << "var rigid = 0" << endl; //Ригидность

cout << "var emo_vozb = 0" << endl; //Эмоциональная возбудимость

cout << "var temp_reak = 0" << endl; //Темп реакций

cout << "var activ = 0" << endl; //Активность

//Проверка на искренность

cout << "function check_iskren(temp_param, i)" << endl;

cout << "if((temp_param == 1) && ((i == 30) || (i == 36) || (i == 42) || (i == 48)))" << endl;

Простейший счетчик посещений

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

1 <р>Посетителей страницы

3 $filename = «counter.dat»;

4 $fp = @fopen($filename,»r»>;

7 $counter = fgets ($fp,10);

11 echo $counter;

12 $fp = @fopen($filename,»w»);

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

Опишем скрипт построчно.

1. Выводим на экран надпись «Посетителей страницы» при помощи HTML-тега <р>.

2. Открываем скрипт.

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

4. Открываем соединение с этим файлом, причем только на чтение. 5—6. Проверяем, успешно ли открылось соединение.

7. Если успешно, считываем из открытого файла первые 10 символов в переменную счетчика $counter.

8. Закрываем соединение.

9. Если соединение не открылось, присваиваем переменной счетчика ноль.

10. Увеличиваем переменную счетчика на единицу.

11. Выводим на экран переменную счетчика.

12. Открываем соединение на запись с очисткой всего содержимого файла.

13—15. Если успешно, то записываем новое значение переменной счетчика в файл.

16. Закрываем файл

Обработка форм

Посещая сайты, каждый не раз сталкивался с различными формами и полями для ввода. Как обрабатываются данные из формы? Ответ очевиден — при помощи РНР. Разберемся, как это работает.

Читайте так же:
Складской счетчик что это

Для начала давайте сделаем форму для отправки писем на любой адрес, который требуется ввести в форме:

Программирование на РН

<form method=»POST» action=»action.phtml»> <p><input type=»text» name=»email» size=»20″> <br><input type=»text» name=»name» size=»20″> <br><textarea rows=»2″ name=»txt» cols=»20″x/textarea>

<br><input type=»submit» value=»Отправить» name=»Bl»> <input type=»reset» value=»Очистить» name=»B2″</p></form>

Запустив этот HTML-код в браузере, вы увидите перед собой форму с тремя полями для ввода (рис. 20).

Обработка, которая начнется после нажатия кнопки «Отправить», будет передана файлу action.phtm. Имя первого поля — «email», и в него посетитель будет вводить адрес, по которому надо отправить письмо. Второе поле имеет имя «name», и оно предназначено для ввода имени того, кто хочет отправить письмо. Можно, конечно, обойтись и без этого, но для наглядности не помешает. Следующее поле — для ввода текста сообщения, и оно имеет имя «txt». Наша форма почти готова. Не хватает только эстетического оформления, но это уже дело десятое, можно сделать любые надписи или применить различные стили,

Отправление почты

проявите свои творческие способности. А мы теперь перейдем к основной части — обработчику формы, который, как вы помните, находится у нас в файле action.phtm. Вот РНР-код для обработки этой формы:

Как видите, имена, которые мы присвоили полям для ввода в нашей форме, перешли точно таким же переменным в скрипт РНР, который указывается в форме как обработчик. Причем значением этих переменных РНР будет являться то, что посетитель вашей страницы введет в соответствующее поле. Адрес окажется в переменной $email, имя — в $name, а текст — в $txt.

Итак, любое имя формы становится переменной в обработчике, написанном на РНР. Метод, при помощи которого передаются переменные со своими значениями в интерпретатор, называется POST. Если помните, несколько ранее мы познакомились еще с одним методом передачи данных скрипту — GET. На данном примере вы можете видеть основное отличие двух похожих методов. В первом случае (GET) передача данных переходит по ссылке, во втором (POST) — через форму.

Очень часто хочется знать, что происходит на сайте за время вашего отсутствия. Конечно, можно периодически проверять форум, гостевую книгу, другие сервисы сайта на предмет новых сообщений, но есть способ лучше. Почему бы не присылать себе сообщение на свой почтовый ящик, когда на сайте происходит то или иное событие, например подписка на рассылку, ошибка открытия файла, организация обратной связи, опрос мнения читателей о размещенной статье, ввод сообщения в форум, гостевую книгу и т.д. Способов применить эту возможность РНР много, разберем один из них с использованием функции mail. Ее синтаксис:

mail ( $email, «Введено сообщение», $str, «From: сообщение «) ;

Программирование на РНР

Конечно, перед этим пользователи должны ввести соответствующие переменные либо вручную, либо с помощью формы (нужно следить за соответствием имен переменных в форме и в скрипте). При выполнении данной команды интерпретатор РНР пошлет письмо с текстом из переменной $ s t r по адресу, указанному в переменной $email. Все остальное — служебная информация, которая может быть в некоторых случаях опущена за ненадобностью.

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

$ip = getenv(«REMOTE_ADDR»); $date = date(«d M Y, H:i:s»);

$str = (» Дата — $date Хост — $host IP-адрес — $ip

mail ( $email, «статистика», $ str, «From:информация» ); ?>

Значение хоста получается из переменной окружения, в которой хранится IP, — $REMOTE_ADDR. Далее получается сам IP из той же переменной и дата. Потом это задается в переменную для отправки на ящик, указанный в переменной $email.

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

Если вы разместите на одной из ваших страниц этот РНР-код, информация о посетителе (это дата входа, хост и IP-адрес) будет в вашем почтовом ящике.

Еще можно прислать себе сообщение при возникновении ошибки на сайте (например, открытия файла):

@mail( $email, «Ошибка!», «Ошибка открытия файла $filename!»);

Как обычно, можно поставить знак @, и если возникнет ошибка при отправке почты, сообщение об этом не будет выведено на экран. А можно просто проверить, ушло письмо или нет:

if (@mail( $email, «Тест», $ s t r ) )

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

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

голоса
Рейтинг статьи
Ссылка на основную публикацию
Adblock
detector