AGAVA partners programs http://agava.ru/partners/            

Название функции

             
Веб-курсы


Что это?

Оглавление

Основы
Основы основ

Практика
Гостевая книга
Простой сайт
Структура сайта (MVC)
Ядро (Light)
Ядро
Гостевая на SQL
Статические страницы
Модуль новостей
Система регистрации

Теория
Дебаггинг
Регулярные выражения
Введение в ООП
Паттерны проектирования

Репозитарий
BB-code
Почтовый класс
Пагинатор
Всякие полезности

Download
Полезные утилиты

Разное
Видеокурсы
Последние изменения
Вопросы и замечания сюда



Реклама

Диеты для похудения
Фреймворк Kohana. Обучение. Мануал на русском.







Первая страница

Итак, начнем писать первую страничку на php. Не оригинальничая, напишем строку - талисман: "Hello, World!". С неё принято начинать познания в практической области программирования.

Сначала выставляем кодировку. Мы уже советовали - привыкайте сразу к кодировке utf-8 . Это поможет в дальнейшем избежать несовместимости. Если Вы используете Денвер, то в нем по умолчанию установлена кодировка windows-1251. Такая же кодировка может быть выставлена и на некоторых хостингах. Но это дело легко поправимо. Откройте блокнот или другой редактор, напишите туда это:

1
2
3
4

AddDefaultCharset UTF-8 

и сохраните в каталоге вашего сайта (в корне) с расширением .htaccess
Прямо без названия, одно расширение.


Кодировку странички не лишне выставить заголовком.

Так как интернет похож на почту, по аналогии попробуем понять, что такое заголовки (в простонародье хидеры). Заголовки - это надписи на конверте. В php заголовок формируется функцией header(). Получив письмо, Вы сначала смотрите:
1. На каком языке оно написано. Это называется кодировка.
2. Что это за письмо, простое, заказное, бандероль или вообще посылка - контент-тип.
3. Есть еще куча всего интересного.
4. И только потом, вооружившись нужным словарем или переводчиком, открываете письмо.

И сервер, и браузер перед тем, как отправить нужную информацию, всегда отправляет набор заголовков. Увидеть их можно, выполнив этот скрипт:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 

    $url 
'http://php.inkz.ru';   
    
$header get_headers($url1);  
?> 
<pre> 
<?php 
    print_r
($header); 
?> 
</pre>

Выдаст он вот такой набор данных:
Array
(
    [0] => HTTP/1.1 200 OK
    [Server] => nginx/0.7.61
    [Date] => Sun, 01 Sep 2009 12:12:12 GMT
    [Content-Type] => text/html; charset=utf-8
    [Connection] => close
    [X-Powered-By] => PHP/5.2.10
)


Запомните одно правило. Если сервер сначала в почтовый ящик сбросит содержимое письма, а потом конверт, Вы ничего не получите. Поэтому сначала нужно отправить все заголовки, а потом формировать страницу. Это же касается установки COOKIES и старта сессий (так, на будущее).
Вот:
1
2
3
4
5
6
<?php


    header
('Content-Type: text/html; charset=utf-8');


Еще один нюанс. Письмо должно быть в целом конверте, не в порванном. Так что до функции header() не должно быть не только вывода (html), но и даже пробелов перед открывающим тегом
<?php.

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

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

Дальше мы присвоим переменной нужную нам строку:
1
2
3
4
5
6
7
8
<?php
 

    header
('Content-Type: text/html; charset=utf-8');

    
$var 'Привет, Мир... тьфу, Hello World!';


И дальше, с помощью языковой конструкции echo отправим это в поток браузеру.
1
2
3
4
5
6
7
8
9
10
11
12
<?php
   

    header
('Content-Type: text/html; charset=utf-8');  

    
$var 'Привет, Мир... тьфу, Hello World!';  
?> 
<h1> 
<?php echo $var?> 
</h1>


Заметьте, мы не писали теги разметки в строку с данными, а написали их простым текстом. Это гораздо корректнее, чем вот так:
1
2
3
4
5
6
7
8
9
10
<?php
   

    header
('Content-Type: text/html; charset=utf-8');  

    
$var '<h1>Привет, Мир... тьфу, Hello World!<h1>';  

    echo 
$var
Потому что разметка - это html и совсем ни к чему напрягать препроцессор php чтобы её сформировать.

Теперь сохраните это в файл index.php в корне Вашего сайта (если Вы сделали хост, следуя инструкции предыдущей главы) и наберите в адресной строке браузера http://my-site.ru

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

Рейтинг@Mail.ru Рейтинг@Mail.ru Яндекс цитирования
irbis-team © 2009