Как сохранять ваши PHP страницы

Понятие Веб сервера. Синтаксис языка PHP

 

Веб-сервер — это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными.

Веб-серверы – основа Всемирной паутины.

Веб-сервером называют как программное обеспечение, выполняющее функции веб-сервера, так и компьютер, на котором это программное обеспечение работает.

 

Клиенты получают доступ к веб-серверу по URL адресу нужной им веб-страницы или другого ресурса.

Дополнительными функциями многих веб-серверов являются:

· ведение журнала обращений пользователей к ресурсам;

· аутентификация пользователей;

· поддержка динамически генерируемых страниц;

· поддержка HTTPS для защищённых соединений с клиентами.

HTTPS — расширение протокола HTTP, поддерживающее шифрование. Данные, передаваемые по протоколу HTTP, «упаковываются» в криптографический протокол SSL или TLS, тем самым обеспечивается защита этих данных.

В отличие от HTTP, для HTTPS по умолчанию используется TCP порт 443 (для незащищенного HTTP — 80). Эта система была разработана компанией Netscape Communications Corporation, чтобы обеспечть аутентификацию и защищенное соединение.

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

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

Вообще https не явлется отдельным протоколом. По сути это обычный HTTP, работающий через шифрованные транспортные механизмы SSL и TLS. Это обеспечивает защиту от атак, основанных на фальсификации либо прослушивании среднего уровня сетевого соединения — т. н. man-in-the-middle (например, от снифферских атак).

Недостатком использования HTTPS является длина ключа - всего 40, 56, или 128 бит. По мнению большинства специалистов по информационной безопасности, сегодня надежной длиной ключа может быть длина, сравнимая с 1024 бит. Поэтому длина ключа даже в максимальные 128 бит HTTPS явно недостаточна. Кроме того, большинство браузеров использует длину ключа 40 бит(пример тому — IE). Это связано с экспортными ограничениями в США. И, следовательно, не следует считать, что HTTPS обеспечивает достойный уровень шифрования. Но такое шифрование значительно затрудняет злоумышленнику поиск паролей и другой личной информации.

На сегодня двумя наиболее распространёнными веб-серверами, вместе занимающими около 90 % рынка, являются:

• Apache — свободный веб-сервер, наиболее часто используется в Unix-подобных ОС.

• IIS от компании Microsoft, распространяется с ОС семейства Windows NT.

 

В качестве клиентов для обращения к веб-серверам могут использоваться совершенно различные устройства:

Веб-браузер — самый распространенный способ

Специальное программное обеспечение может самостоятельно обращаться к веб-серверам для получения обновлений или другой информации

Мобильный телефон может получить доступ к ресурсам веб-сервера при помощи протокола WAP

Другие интеллектуальные устройства или бытовая техника

 

 

PHP программы

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

Дело в том, что PHP, как правило, используется сугубо для программирования приложений, связанных с Интернетом. Однако, PHP можно еще использовать в качестве интерпретатора командной строки, в основном в *nix-системах. Последнее возможно при помощи CORBA и COM интерфейсов, а также при помощи расширения PHP-GTK. При таком использовании PHP возможно решение следующих задач:

· создание приложений интерактивной командной строки;

· создание кросс-платформенных GUI приложений при помощи библиотеки PHP-GTK;

· автоматизация некоторых задач под Windows и Linux

Рассмотрим процесс выполнения php-сценария при обращении браузера к серверу. Итак, вначале браузер запрашивает страницу с расширением .php, после чего web-сервер пропускает программу через машину PHP и выдаёт результат в виде html-кода. Причем, если взять стандартную страницу HTML, изменить расширение на .php и пропустить её через машину PHP, последняя просто перешлёт её пользователю без изменений. Чтобы включить в этот файл команды PHP, необходимо заключить команды PHP в специальные теги, которых различают 4 вида (они эквивалентны и можно использовать любые):

1. Инструкция обработки XML:

2. <?php

3. ...?>

4. Инструкция обработки SGML:

5. <?

6. ...?>

7. Инструкция обработки сценариев HTML:

8. <scriptlanguage = "php">

9. ...</script>

10. Инструкция в стиле ASP:

11. <%

12. ...%>

Мы будем придерживаться стиля XML или SGML.

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

<?

if(5<3){

echo("<p>Hello, world!<p>");

?>

<p>Hello!</p>

// эта строка не интерпретируется как код PHP

// и выводится только если блок кода выполняется

<?

echo("<p>Hello, world!<p>");

}

?>

Команда echo в PHP применяется для вывода фактически всего, что встречается на web-страницах (текст, разметку HTML, числа). Смысл ее действия, мы думаем, понятен из приведенного примера.

 

 

PHP — Синтаксис

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

Синтаксис — правила, которые необходимо соблюдать, чтобы писать правильно структурированный код.

Синтаксис PHP и его семантика похожи на большинство других языков программирования (C, Java, Perl). С той лишь разницей, что код PHP встраивается в html разметку страницы. Весь код PHP должны содержаться в следующих тегах:

 

<?php

?>

Или просто:

<?

?>

 

Если вы не хотите проблем, то пишете по стандартной форме (т.е. ?php), а не в сокращенном виде. Это гарантирует, что ваши скрипты будут работать на серварах с разными настройками.


Как сохранять ваши PHP страницы

Если у вас есть PHP код, который включен в HTML и вы хотите, чтобы браузер интерпретировал все правильно, то вы должны сохранить файл с расширением .php, вместо стандартного .html. Так что не забудьте проверить, что вы сохраняете файлы правильно. Например, вместо index.html должно быть index.php.

 

Пример простой html страницы с PHP кодом

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

<html>

<head>

<title>My First PHP Page</title>

</head>

<body>

<?php

echo "Hello World!"

?>

</body>

</html>

 

Вот что мы получим в результате:

Hello World!

 

Если вы сохраните этот файл (например, helloworld.php) и закинете его на сервер с поддержкой PHP, а затем загрузите ее в браузере, то вы должны увидеть надпись «Hello World!». Если этого не произошло, пожалуйста, проверьте, что Вы все сделали правильно и четко следовали примеру. Или задавайте вопросы в комментариях.

Мы использовали команду echo, чтобы написать «Hello World!». Конечно, мы вернемся к этой команде чуть позже, в следующих уроках.

 


Точка с запятой!

Как вы можете заметить, в приведенном выше примере не было точки с запятой после строки кода PHP. Точка с запятой означает конец операции в PHP и никогда не стоит о ней забывать. Например, если бы мы повторили нашу команду вывода надписи «Hello World!» несколько раз, то мы должны поставить точку с запятой в конце каждой строки.

<html>

<head>

<title>My First PHP Page</title>

</head>

<body>

<?php

echo "Hello World! ";

echo "Hello World! ";

echo "Hello World! ";

echo "Hello World! ";

echo "Hello World! ";

?>

</body>

</html>

 

Результат:

Hello World! Hello World! Hello World! Hello World! Hello World!

 

 


Пробелы

Как и в HTML, пробелы между PHP выражениями игнорируются. То есть если в коде 20 пустых строк, например, для форматирования, то ничего страшного, они не будут видны в результате. Так же как и табуляция (Tab).

<html>

<head>

<title>My First PHP Page</title>

</head>

<body>

<?php

echo "Hello World!";

 

echo "Hello World!";

 

 

?>

</body>

</html>

 

Результат:

Hello World!Hello World!

 

Итог. Мы научились встраивать php код в html страницу, сохранять с соответствующим расширением ‘.php’. Рассмотрели несколько примеров построения страницы, а том числе и с использованием команды echo.

 


Комментарии

PHP предоставляет несколько методов для вставки комментариев. Проще всего пользоваться двойнымслэшем в стиле языка С++ (//), после чего PHP машина игнорирует все, что расположено до конца строки. Также можно пользоваться многострочными комментариями в стиле С (/*…*/). Для однострочных комментариев можно еще пользоваться символом решетки (#) (комментарий скриптовых языков UNIX).

<php

echo("<p>Hello</p>"); // комментарий

echo("<p>Hello</p>"); # комментарий

/*

и это тоже комментарии

*/

?>

Следует помнить о том, что стили комментариев PHP действуют только внутри ограничителей PHP. Если PHP встретит эти символы комментариев вне ограничителей, то они, как и любой текст, будут помещены на html-страницу. Например:

<php

echo("<p>Hello</p>"); // нормальный комментарий

?>

// а вот этот комментарий отобразиться браузером.

<!-- Комментарий HTML.

Будет виден в исходном коде HTML, но не в браузере -->

Заметим, что комментарии можно вставлять не только после конца оператора, а, например, и вот так:

<?

$a = "Hello, world";

echostrstr

($a,"H");

// эту функцию мы рассмотрим позднее

?>

 


 

Переменные

В РНР переменные начинаются со знака доллара ($), за которым может следовать любое количество буквенно-цифровых символов и символов подчеркивания, но первый символ не может быть цифрой. Таким образом, допустимы следующие имена переменных: $n, $n1, $user_func_5 и т. д. В отличие от ключевых слов, имена пе-ременных в PHP чувствительны к регистру, т. е. переменные $user, $User и $USER являются различными.

 

<?php

$user = "Владимир";

$User = "Дмитрий";

$USER = "Юрий";

echo $user; // Владимир

echo $User; // Дмитрий

echo $USER; // Юрий

?>

 

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

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

 

<?php

$number = 1;

$var = 3.14;

?>