Форум о заработке в Интернете.

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

Привет, Гость! Войдите или зарегистрируйтесь.



Учебник PHP

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

1

Введение
PHP позволяет добавлять продвинутые технологии на ваш сайт.

Задача данного учебника - в лёгкой и доступной форме дать вам понятие о PHP. Изучение начинается с нуля, но необходимо, чтобы вы уже хорошо разбирались в HTML. Если это не так, вам нужно начать с нашего учебника HTML.

PHP можно использовать в различных контекстах - на форумах, поллах, в магазинах, SMS-шлюзах, списках рассылки и т. п. Единственное ограничение в работе PHP - ваше воображение. Изучить PHP нетрудно, но помните, что PHP сложнее и труднее для изучения, нежели HTML. Соответственно, будьте терпеливы.

В этом учебнике невозможно рассмотреть всё. Поэтому от вас потребуется некоторая настойчивость и желание экспериментировать. Если понадобится помощь, мы рекомендуем обращаться на форумы. Здесь вы встретите настоящих экспертов, которые могут помочь в работе, что-то подсказать, посоветовать.

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

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

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

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

Успехов!

0

2

Урок 1: Что такое PHP
Первые вопросы, возникающие при изучении РНР: Что такое PHP и как это работает?
Именно этими вопросами мы и займёмся в данном уроке. Очень важно разобраться с этими вопросами, прежде чем начинать создавать собственные РНР-страницы. Понимание этого значительно ускорит изучение.

Итак, начнём!

Что такое PHP?
PHP это первоначально аббревиатура для Personal Home Pages (Личные Домашние Страницы), но в настоящее время это рекурсивный акроним для PHP: Hypertext Preprocessor (Гипертекстовый Препроцессор).

PHP был разработан датским гренландцем Rasmus Lerdorf, а затем дорабатывался как открытый код. PHP это не вэб-стандарт, а технология с открытым кодом. PHP это и не язык программирования, и не вэб-стандарт, но он позволяет использовать т. н. скриптинг в ваших документах.

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

Как работает PHP?
Лучший способ объяснить, как работает PHP - сравнить его со стандартным HTML. Предположим, вы печатаете адрес HTML-документа (например, http://www.mysite.com/page.htm) в адресной строке браузера. При этом вы запрашиваете HTML-страницу. Вот пример:
http://ru.html.net/tutorials/php/lesson1_img01.png
Вы видите, что сервер просто высылает HTML-файл клиенту. Но если вы напечатаете http://www.mysite.com/page.php - то есть запросите PHP-страницу - сервер начинает работать:
http://ru.html.net/tutorials/php/lesson1_img02.png
Сервер сначала читает PHP-файл и смотрит, нет ли задач, которые необходимо выполнить. Только после выполнения серверной работы результат отсылается клиенту. Важно понимать, что клиент видит только результат работы сервера, а не реальные инструкции.

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

Вы этой книге вы научитесь создавать команды для сервера!

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

0

3

Урок 2: Серверы
PHP это серверная/server-side технология. Следовательно, для работы РНР вам нужен сервер. Но вам для этого не придётся дополнительно раскошеливаться.

Поскольку вам нужно выбрать лишь один вариант из нескольких, этот урок мы разделили на три части. Сначала даётся обзор разных опций (просто выберите одну, подходящую). Если сервер уже имеется и работает, см. Урок 3 - создание вашей первой РНР-страницы.

Вариант 1: Веб-сайт на сервере-хосте
Вы можете иметь сайт на сервере-хосте, поддерживающем РНР.
    Проверьте, поддерживает ли ваш хост-сервер работу с РНР.
    Если у вас ещё нет вэб-сайта на сервере-хосте, можете создать бесплатную учётную запись на 000webhost.com, который поддерживает PHP.

Вариант 2: Установить PHP на ваш компьютер
Не так-то просто установить РНР на ваш комп. Этот вариант рекомендуется только для опытных пользователей, но можно выбрать и его. Вот ссылки для загрузки и установки:

    Windows Installation Guide
    Mac Installation Guide
    Linux Installation Guide

Вариант 3: XAMPP
XAMPP это программа упрощает для нас, простых смертных, работу с РНР прямо на нашем компе без необходимости установки.
Как установить XAMPP

0

4

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

Как правило PHP-файл представляет собой текстовый файл с расширением .php, состоящий из:

    Текста
    HTML-тэгов
    PHP-скриптов

Вы уже знакомы с текстом и HTML-тэгами. Теперь остановимся на РНР-скриптах.

PHP-скрипты
PHP Documentation Group выпустила подробную документацию документация. По всему данному учебнику даётся множество ссылок на эту документацию. Цель - чтобы вы привыкли искать ответы на ваши вопросы. PHP настолько обширен, что его невозможно охватить в этом учебнике. Но PHP достаточно прост! Более того, язык PHP часто весьма похож на обычный английский.

Давайте начнём конструирование вашей первой РНР-страницы.

Пример: Hello World!
Начнём создание обычного HTML-документа, но назовём файл page.php и поместим его в корневую директорию сайта. Если вы используете XAMPP (см. Урок 2), путь к файлу на вашем компьютере (который теперь является сервером) будет "c:\xampp\htdocs\page.php".

HTML-код должен выглядеть примерно так:

Код:
	<html>
	<head>
	<title>Моя первая PHP-страница</title>

	</head>
	<body>

	</body>
	</html>

Как вы помните, вероятно, из первого урока, PHP даёт команды серверу. Так что давайте напишем команду серверу.

Сначала мы должны указать серверу, где код PHP начинается и заканчивается. В PHP тэги <?php и ?> используются для обозначения начала и конца блоков РНР-кода, которые сервер должен исполнять (на большинстве серверов достаточно использовать <? в качестве стартового тэга, но <?php будет более корректно при первом использовании PHP.)

Попробуем теперь добавить такой блок кода в ваш HTML-код:

Код:
	<html>
	<head>
	<title>Моя первая PHP-страница</title>
	</head>
	<body>

	<?php   

	echo "<h1>Hello World!</h1>";

	?>

	</body>
	</html>

Если просмотреть этот PHP-документ в браузере, то он будет выглядеть примерно так:
http://ru.html.net/tutorials/php/lesson3_img01.png
Но интересно будет просмотреть HTML-код в браузере (выбрав "view source"):
http://ru.html.net/tutorials/php/lesson3_img02.png
PHP-коды исчезли! Из первого урока, вы помните, что только сервер может видеть PHP-коды - клиент (программа-браузер) видит только результат!

Посмотрим, что происходит. Мы просим сервер написать <h1> Hello World!</h1>. Говоря более техническим языком, мы используем строковую функцию документацияecho для написания клиенту специализированной строки, где точка с запятой обозначают конец команды. Но не волнуйтесь! В этом учебнике мы постараемся использовать техническую терминологию по-минимуму.

Наш первый пример, очевидно не особо впечатляющ. Но не спешите! Теперь будет всё интереснее. Рассмотрим другой пример.

Пример: Now!
Заставим сервер написать что-нибудь ещё. Мы можем, например, попросить его вывести текущие дату и время:

Код:
	<html>
	<head>
	<title>Моя первая PHP-страница</title>

	</head>
	<body>

	<?php   

	echo date("r");

	?>

	</body>
	</html>

В браузере мы увидим:
http://ru.html.net/tutorials/php/lesson3_img03.png
Соответствующий HTML-код:
http://ru.html.net/tutorials/php/lesson3_img04.png
Стало уже немного интереснее, не правда ли?

Сервер отображает дату и время при отображении РНР-страницы. Заметьте, что при обновлении страницы в браузере, отобразится новое время. Сервер выводит текущие дату и время всякий раз при отправке страницы клиенту.
Отметим также, что HTML-содержит только дату и время, но не РНР-коды. Следовательно, этот пример не зависит от того, какой браузер используется. В реальности вся функциональность выполняется серверными технологиями и всегда работает во всех браузерах!
И вновь отметим точку с запятой в конце строки кода. Этот разделитель очень важен - при его отсутствии скрипт работать не будет.
В этом примере мы использовали date, функцию, которая возвращает текущие дату и время сервера.
Попробуем расширить пример, записав строку/string и функцию/function, разделив их символом "." (точка) - примерно так:

Код:
	<html>
	<head>
	<title>Мой первый PHP-документ</title>
	</head>
	<body>

	<?php 
	
	echo "<p>Текущие дата и время: " . date("r") . "</p>";

	?>

	</body>
	</html>

В браузере это выглядит так:
http://ru.html.net/tutorials/php/lesson3_img05.png
А вот соответствующих код HTML:
http://ru.html.net/tutorials/php/lesson3_img06.png

0

5

Урок 4: Работа с датой и временем
В этом уроке мы попытаемся рассмотреть различные опции работы с датой и временем в PHP. На предыдущем занятии мы видели очень простые примеры того, что собой представляет РНР. В этом уроке мы более внимательно рассмотрим функцию date.

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

date("y")
    Возвращает текущий год даты - на сегодня возвращает: 11
date("m")
    Возвращает текущий месяц даты - на сегодня возвращает: 07
date("F")
    Возвращает текущий месяц даты - на сегодня возвращает: July
date("d")
    Возвращает текущее число месяца даты - на сегодня возвращает: 22
date("l")
    Возвращает название для недели даты - на сегодня возвращает: Friday
date("w")
    Возвращает текущий день недели даты - на сегодня возвращает: 5
date("H")
    Возвращает текущий час - в данное время возвращает: 09
date("i")
    Возвращает текущую минуту - в данное время возвращает: 54
date("s")
    Возвращает текущую секунду - в данное время возвращает: 25

Следующий пример иллюстрирует использование функции date:

Код:
	<html>
	<head>
	<title>Время и дата</title>

	</head>
	<body>

	<?php 
	
	echo "<p>Сегодня " . date("l") . "</p>";

	?>
	
	</body>
	</html>

Показать пример

Текущее время: 1311321265
Теперь держитесь крепче... немного притормозим! Функция time() возвращает текущее время в виде количества секунд, прошедших после 1 января 1970 года, 12:00 PM, GMT.

Код:
	<html>
	<head>
	<title>Время и  дата</title>
	</head>
	<body>

	<?php   

	echo "<p>Сейчас ровно " . time() . " секунд после January 1, 1970, 12:00 PM, GMT </ p> ";

	?>

	</body>
	</html>

Показать пример

Отображение в виде количества секунд после January 1, 1970, 12:00 PM GMT называется "timestamp/штамп времени" (UNIX timestamp), который весьма употребителен при работе с датой/временем будущего или прошлого.

По умолчанию функция date использует текущий timestamp (т. е. текущее значение time()). но с помощью дополнительного параметра вы можете специфицировать другой штамп времени и таким образом работать с прошлым или будущим. В следующем примере мы установим timestamp на 0 секунд после January 1, 1970 12:00 PM, GMT. Тогда можно узнать, каким днём недели было 1 января 1970 года.

Код:
	<html>
	<head>
	<title>Время и дата</title>
	</head>
	<body>

	<?php 
	
	echo "<p>1 января 1970 года - " . date("l",0) . "</p>";

	?>

	</body>
	</html>

Показать пример
Если вы не гений-математик, вам будет нелегко быстро перевести количество секунд после January 1, 1970 в в конкретное время прошлого или будущего. Но здесь вам поможет ещё одна функция: mktime, выполняющая вычисления за вас.
Синтаксис функции mktime таков (hour, minute, second, month, day, year). Следующий пример - конвертация первой фазы луны (July 21, 1969, 02:56):

Код:
	<html>
	<head>
	<title>время и дата</title>
	</head>
	<body>

	<?php  
	
	echo mktime (2,56,0,7,21,1969);

	?>

	</body>
	</html>

Показать пример
Заметьте, что возвращается отрицательное число, поскольку это дата ранее January 1, 1970.
Теперь можно объединить это с функцией date и определить, какой тогда был день недели.

Код:
	<html>
	<head>
	<title>Время и дата</title>
	</head>
	<body>

	<?php
	
	echo date("l", mktime(2,56,0,7,21,1969));
	
	?>
	
	</body>
	</html>

Показать пример

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

Ответ: всё, что вы здесь изучаете - строительные блоки, и единственное, что может ограничивать вас, это ваше собственное творческое воображение! Рискну утверждать, что вы уже знаете больше, чем предполагаете. Например, вы в курсе, что можете сделать сайт с различными фоновыми изображениями для каждого дня недели и что это будет работать в любом браузере?

Это действительно правда! Посмотрите на пример:

Код:
	<html>
	<head>
	<title>Время и дата</title>
	</head>

	<body background="background_<?php echo date("w"); ?>.png">

	</body>
	</html>

Показать пример
Этот пример, с динамическим фоновым изображением, требует наличия семи изображений, именованных background_1.png, background_2.png, background_3.png, etc.
Если пользователь входит на ваш сайт во вторник, фоновым будет изображение background_2.png, на следующий день - background_3.png. Легко и просто!
На следующем уроке вы узнаете о о новых строительных блоках, которые можно использовать для создания циклов и повторов вашего кода.
PHP увлекателен, вы не находите?

0

6

Урок 5: Циклы
В PHP имеется возможность управлять выполнением скриптов с помощью различных управляющих структур. В этом уроке мы рассмотри циклы. Циклы могут использоваться для повторения частей скриптов указанное число раз или до выполнения определённого условия.

Циклы "while"
Синтаксис цикла while таков:

Код:
	while (условие) {
Оператор
	}

Этот синтаксис можно перевести непосредственно на нормальный язык: while/пока условие соблюдается, делать что-то.

Рассмотрим простой пример:

Код:
	<html>
	<head>
	<title>Циклы</title>

	</head>
	<body>

	<?php

	$x = 1;
	 
	while ($x <= 50) {
	   echo "<p>Этот текст повторяется 50 раз</p>";
	   $x = $x + 1;
	}
	?>

	</body>

	</html>

Показать пример
В этом примере используется переменная/variable "$x". Как вы могли заметить, имена переменных в РНР всегда начинаются с символа "$". Поначалу это легко забыть, но это абсолютно необходимо запомнить, иначе скрипт не будет работать.

Помимо прочего, пример почти всегда говорит сам за себя. Сначала переменная $x получает значение 1. Затем цикл запрашивает у сервера повторение текста, пока $x не станет меньше или равна 50. При каждом проходе цикла значение переменной $x уменьшается на 1.

Циклы "for"
Другой способ создания цикла - с использованием for:

Код:
	for (Инициализация; Условие; Шаг) {
 Оператор
	}

Оператор повторяется, пока 'Инициализация' + 'Шаг' удовлетворяют 'Условию'. Если это непонятно, взгляните на пример:

Код:
	<html>
	<head>

	<title>Циклы</title>
	</head>
	<body>

	<?php

	for ($x=0; $x<=50; $x=$x+5) {
	   echo "<p>variable $x теперь = " . $x . "</p>";
	}
	?>

	</body>
	</html>

Показать пример
В вышеприведённом примере $x увеличивается на 5 при каждом проходе цикла. Цикл продолжается, пока $x меньше или равна 50. Обратите также внимание, как значение $x используется в качестве части этого выражения.

Вот другой пример:

Код:
	<html>
	<head>

	<title>Циклы</title>
	</head>
	<body>

	<?php

	for ($ x=1; $x<=6; $x=$x+1) {
	   echo "<h" . $x . ">Уровень заголовка " . $x . "</h" . $x . ">";
	}
	?>

	</body>
	</html>

Показать пример
Всё ли понятно? Сначала мы устанавливаем $x равной 1. Затем при каждом проходе цикла мы поднимаем уровень заголовка на $x (h1, h2, h3, etc.), пока $x не будет равна 6.

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

Но будьте осторожны! PHP работает медленнее со сложными и большими скриптами. Например, в следующем примере с тремя циклами мы можем записать более  16 миллионов цветов!

Чтобы не замедлять работу страницы, мы должны значительно урезать это число, сделав шаг равным 30 и ограничив количество цветов числом 512.

Код:
	<html>

	<head>
	<title>Циклы</title>
	</head>
	<body>

	<?php
 
	for ($intRed=0; $intRed<=255; $intRed=$intRed+30) {

	   for ($intGreen=0; $intGreen<=255; $intGreen=$intGreen+30) {

	      for ($intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) {
	 
  $StrColor = "rgb(" . $IntRed . "," . $IntGreen . "," . $IntBlue . ")";
  
  echo "<span style='color:" . $StrColor . "'>" . $ StrColor . "</span>";
	 
	      }
	   }
	}
	?>

	</body>
	</html>

Показать пример
В этом примере каждый из трёх основных цветов может (red, green и blue) может иметь значение от 0 до 255. Любое сочетание этих трёх цветов создаёт цвет в форме rgb(255,255,255). Этот код цвета используется как color в тэге <span>.

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

0

7

Урок 6: Условия
Условия используются для выполнения части скрипта, только если некоторые предопределённые требования (условия/conditions) выполняются. Например, условие может требовать, чтобы дата была после January 1, 2012, или чтобы переменная была больше 7.

If...
Первый тип условия, который мы рассмотрим, называется if, и оно имеет такой синтаксис:

Код:
	if (условие) {
	   оператор
	}

Этот синтаксис, опять-таки близок нормальному языку: If\если условие соответствует, то выполняется ещё что-то. Рассмотрим простой пример:

Код:
	<html>

	<head>
	<title>Циклы</title>
	</head>
	<body>

	<?php

	$x = 2;

	if ($x > 1) {
	   echo "<p>переменная $x больше 1</p>";
	}
	 
	?>

	</body>
	</html>

if ... else ...
Следующий тип условия, который мы рассмотрим, называется else , который может быть представлен в следующей форме:

Код:
	if (условие) {
	   оператор
	}
	else {
	   оператор
	}

Синтаксис: if\если условие соответствует, выполняется что-то, либо else\иначе выполняется ещё что-то.
В уроке 4 вы узнали, как определить число/день месяца. В следующем примере мы используем номер месяца в условии if else для определения времени года:

Код:
	<html>
	<head>
	<title>Условия</title>
	</head>
	<body>

	<?php

	if (date ("m") == 3) {
	   echo "<p>Сейчас весна!</p> ";
	}
	else {
	   echo "<p>Я не знаю, какое сейчас время года!</p> ";	
	}

	?>

	</body>
	</html>

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

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

== равно
< меньше, чем
> больше, чем
<= меньше или равно
>= больше или равно
!= не равно

Кроме того существуют логические операции:

&& И
|| ИЛИ
! НЕ

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

Код:
	<html>
	<head>
	<title>Условия</title>

	</head>
	<body>

	<?php
 
	if (date("m") >= 3 && date("m") <= 5) {
	   echo "<p> Сейчас весна!</p> ";
	}
	else {
	   echo "<p> Сейчас, зима, лето или осень!</p> ";
	}
	 
	?>

	</body>
	</html>

Рассмотрим расширенное условие подробнее:

Код:
	date("m") >= 3 && date("m") <= 5

Его можно расшифровать так:

Код:
	Если месяц больше или равен 3 и меньше или равен 5

Неплохо, а? Операции играют важную роль в PHP.
Но это работает только с мартом, апрелем и маем. Все другие месяцы не охватываются этим условием. Так что попытаемся усложнить условие ещё немного.

if ... elseif ... else...
Используя elseif, мы можем расширить условие, и оно будет работать для всех месяцев:

Код:
	<html>
	<head>
	<title>Условия</title>

	</head>
	<body>

	<?php
 
	if (date("m") >= 3 && date("m") <= 5) {
	   echo "<p>Сейчас весна!</p>";
	}

	elseif (date("m") >= 6 && date("m") <= 8) {
	   echo "<p>Сейчас лето!</p>";
	}

	elseif (date("m") >= 9 && date("m") <= 11) {
	   echo "<p>Сейчас осень!</p>";
	}

	else {
	   echo "<p>Сейчас зима!</p>";
	}
	 
	?>

	</body>
	</html>

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

switch ... case
Другой способ написания условий - использование метода switch:

Код:
	switch (выражение) {
 
	case 1: 
	   оператор
	   break;	
	case 2: 
	   оператор
	   break; 
	default:
	   оператор
	   break;
	}

Этот метод основан на выражении и перечисляет различные "ответы" или "значения" с соответствующими операторами. Проще всего объяснить работу этого метода на примере.
Как вы помните из урока 4, функция date("w") возвращает текущий день недели. Можно использовать это в нашем примере, где выводится названия дня (вместо цифры):

Код:
	<html>
	<head>
	<title>Условия</title>
	</head>
	<body>

	<?php
 
	switch(date("w")) {
	 
	case 1:
	   echo "Сегодня понедельник";
	   break;
	case 2:
	   echo "Сегодня вторник";
	   break;
	case 3:
	   echo "Сегодня среда";
	   break;
	case 4:
	   echo "Сегодня четверг";
	   break;
	case 5:
	   echo "Сегодня пятница";
	   break;
	case 6:
	   echo "Сегодня суббота";
	   break;
	default:
	   echo "Сегодня воскресенье";
	   break;
	 
	}
	 
	?>

	</body>
	</html>

Показать пример
Часто switch может быть альтернативой условиям if else. Что использовать в конкретной ситуации - зависит от того, какой метод представляется вам наиболее простым и логичным. Сделать ваши логичными и понятными - вот ваша задача.

0

8

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

Почему комментарии так важны для ваших скриптов?
Когда вы кодируете, вы пишете команды серверу/компьютеру и должны использовать весьма формальный язык, который может не вполне понятно отражать ход ваших мыслей при написании скрипта.

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

С помощью комментариев можно вставлять в скрипт краткий пояснительный текст. Сервер полностью игнорирует комментарии, и они не влияют на функциональность самогó скрипта.

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

Как вставлять комментарии?
Это весьма просто. Комментарий начинается двойным слэшем: "//".
См. этот пример из урока 5, теперь с комментариями:

Код:
	<html>
	<head>
	<title>Циклы</title>
	</head>
	<body>

	<?php

	// Здесь записываем коды цвета с использованием трёх циклов

	// Red может быть в диапазоне от 0 до 255 
	for ($intRed=0; $intRed<=255; $intRed=$intRed+30) {

	   // Green может быть в диапазоне от 0 до 255
	   for ($intGreen=0; $ intGreen<=255; $intGreen=$intGreen+30) {

	      // Blue может быть в диапазоне от 0 до 255
	      for ($ intBlue=0; $intBlue<=255; $intBlue=$intBlue+30) {

	      // Код цвета образуется в форме rgb(red,green,blue)
  strColor = "rgb(" . intRed . "," . intGreen . "," . intBlue . ")"

	      // Теперь записываем код цвета  для клиента
  echo "<span style='color:" . $strColor . "'> " . $ strColor . " </span>";

	      // Закрываем циклы
	      }
	   }
	}

	?>

Для примера мы вставили несколько комментариев, поэтому понятно, что отлаживать такой скрипт намного проще при наличии комментариев, нежели без них.
Так что не забывайте комментировать ваши скрипты!

0

9

Урок 8: Массивы
В этом уроке познакомимся с массивами, узнаем, как их использовать и что они могут.
Понимание массивов может сначала вызвать затруднения. Но всё-таки попытаемся... попытаемся максимально облегчить это.

Что такое массив?
Массив это набор индексированных элементов, каждый их которых имеет свой уникальный идентификационный номер.
Звучит непонятно? На самом деле всё не так уж сложно.
Представьте себе список слов, разделённых запятыми. Он может выглядеть, например, так:

Код:
	яблоки, груши, бананы, апельсины, лимоны

Затем представьте разделение списка по запятым. Далее дайте каждому разделу уникальный идентификационный номер:
http://ru.html.net/tutorials/php/lesson8_img01.png
То, что получилось, и является массивом. Можем назвать этот массив "fruits". Идея в том, чтобы можно было получать доступ к массиву по номеру элемента и получать значение этого элемента:

fruits(0) = яблоки
fruits(1) = груши
fruits(2) = бананы
fruits(3) = апельсины
fruits(4) = лимоны
Такова базовая идея массивов. Попробуем использовать это на практике.

Как использовать массив?
Продолжим с примером fruit. Шаг за шагом, мы заставим его работать как реальный массив. Сначала создадим переменную для обозначения списка фруктов:

Код:
	<?php

	$fruitlist = "яблоки, груши, бананы, апельсины, лимоны";
	
	?>

Затем используем функцию explode для разделения списка по запятым:

Код:
	<?php
	 
	$fruitlist = "яблоки, груши, бананы, апельсины, лимоны";
	 
	$arrFruits = explode(",", $fruitlist);

	?>

Вуаля! "$arrFruits" теперь обозначает массив!
Заметьте, что мы вызвали функцию explode с двумя аргументами:

    список для разделения
    разграничитель - т. е. символ, используемый для разделения (в нашем случае - запятая) - в двойных кавычках: ",".

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

Код:
	<html>
	<head>
	<title>Массив</title>
	</head>
	<body>

	<?php
 
	// Список с разделением запятыми
	$fruitlist = "яблоки, груши, бананы, апельсины, лимоны";
	 
	// Создать массив путём разделения списка (с разделителем-запятой)
	$arrFruits = explode(",", $fruitlist);
	 
	   // Записать значения из нашего массива
	   echo "<p>Список фруктов:</p>";
	 
	   echo "<ul>";
	   echo "<li>" . $arrFruits[0] . "</li>";
	   echo "<li>" . $arrFruits[1] . "</li>";
	   echo "<li>" . $arrFruits[2] . "</li>";
	   echo "<li>" . $arrFruits[3] . "</li>";
	   echo "<li>" . $arrFruits[4] . "</li>";
	   echo "</ul>";

	?>

	</body>
	</html>

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

Циклы через массивы
В уроке 5 вы познакомились с циклами. Теперь посмотрим, как пройти циклом по массиву.

Когда известно, сколько элементов содержится в массиве, проблем с определением цикла нет. Вы просто начинаете с 0 и разрешаете циклу выполняться до количества имеющихся элементов. В примере с fruits можно идти по массиву так:

Код:
	<html>
	<head>
	<title>Массив</title>

	</head>
	<body>

	<?php
 
	// Список с разделением запятыми
	$fruitlist = "яблоки, груши, бананы, апельсины, лимоны";
	 
	// Создать массив путём разделения списка (с разделителем-запятой)
	$arrFruits = explode (",", $fruitlist);
	 
	   echo "<p>Список фруктов:</p>";
	   echo "<ul>";
	 
	   // Цикл по массиву $arrFruits
	   for ($x=0; $x<=4; $x++) {
	      echo "<li>" . $arrFruits[$x] . "</li>";
	   }
	 
	   echo "</ul>";

	?>
	 
	</body>
	</html>

Показать пример
Как видите, переменная $x (с инкрементом от 0 до 4 в цикле) использована для вызова этого массива.

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

Код:
	<?php
	   foreach ($arrFruits as $x) {
	      echo arrFruit[$x];
	   }
	?>

Этот цикл будет работать независимо от того, сколько элементов в нём содержится.

Ещё пример
Вот другой пример использования массива для записи названия месяца:

Код:
	<html>
	<head>
	<title>Массив<title>

	</head>
	<body>

	// Создать массив из всех названия месяцев.
	// Создать массив из месяцев. Обратите внимание на запятую перед January - поскольку нет месяца с номером 0
	$arrMonths = array(,"January","February","March","April","May","June","July","August","September","October","November","December);
	 
	// Вызвать массив с номером месяца - записать клиенту
	echo $arrMonths[date("m")];
	?>

	</body>
	</html>

Показать пример
Обратите внимание на использование функции array вместо функции explode для создания массива.

Ok. Хватит о массивах! В следующем уроке вы узнаете, как создавать ваши собственные функции.

0

10

Урок 9: Функции
В предыдущих уроках вы узнали, как использовать функции вроде date() и array(). В этом уроке мы научимся создавать собственные функции с помощью function.

Что такое функция?

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

Код:
	Имя Функции(список параметров) {
	   Оператор
	}

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

Код:
	function AddOne($x) {
	   $x = $x + 1;
	   echo $x;
	}

Наша функция называется AddOne и должна вызваться с числом - например, 34 ...

Код:
	echo AddOne(34);

... которое (вот сюрприз!) возвращает 35.
Этот пример работает с числом, но функции могут работать с текстом, датами и др. Можно создавать функции с множеством разных параметров. В этом уроке вы увидите примеры разнообразных функций.

Пример 1: Функция с несколькими параметрами
Как сказано выше, вы можете легко создавать функции, вызываемые с несколькими параметрами. В следующем примере мы создадим функцию, вызываемую с тремя числами, возвращающую значение суммы этих числе:

Код:
	<html>
	<head>
	<title>Функции</title>

	</head>
	<body>

	<?php

	function AddAll($number1,$number2,$number3) {
	   $plus = $number1 + $number2 + $number3;
	   return $plus;
	}
	 
	echo "123 + 654 + 9 equals " . AddAll(123,654,9);

	?>

	</body>
	</html>

Показать пример
Хорошо. Это тоже почти так же просто! Но важно было показать, что функция может вызываться с несколькими параметрами.

Пример 2: Английские дата и время
Попробуем создать более сложную функцию. Функция, вызываемая с датой и временем, возвращает это в формате: Wednesday, 15 February, 2012, 10:00:00 AM

Код:
	<html>
	<head>
	<title>Функции</title>
	</head>
	<body>

	<?php

	function EnglishDateTime($date) {
	 
	  // Массив с английскими названиями дней недели
	  $arrDay = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday");
	 
	  // Массив с английскими названиями месяцев
	  $arrMonth = array("","January","February","March","April","May","June","July","August","September","October","November","December");
	 
	  // Конструируется дата
	  $EnglishDateTime = $arrDay[(date("w",$date))] . ", " . date("d",$date);
	  $EnglishDateTime = $EnglishDateTime  . " " . $arrMonth[date("m",$date)] . " " . date(Y,$date);
	  $EnglishDateTime = $EnglishDateTime  . ", " . date("H",$date) . ":" . date("i",$date);
	 
	  return $EnglishDateTime;

	}
	 
	// Проверка работы функции
	echo EnglishDateTime(time());

	?>

	</body>
	</html>

Показать пример
Обратите внимание, как '$arrMonth' и '$EnglishDateTime' конструируются в нескольких строках. Это сделано, чтобы пользователи с низким разрешением экрана могли лучше разглядеть пример. Это не влияет на сам код.

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

Пока мы не углубляемся в работу функций, но уже знаем немного о них.

+1

11

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

0

12

shmalt написал(а):

Класс! Вот это молодец!

Спасибо  :)

shmalt написал(а):

Побольше бы таких тем

Вот ещё мои подобные темы: Учебник HTML, Учебник по CSS, Системные коды uCoz

0

13

Урок 10: Передача переменных через URL
При работе с PHP часто необходимо передать переменные с одной страницы в другую. Этот урок - о передаче переменных в URL.

Как это работает?
Возможно, вас удивляло, почему некоторые URL выглядят наподобие этого:

Код:
	http://html.net/page.php?id=1254

Почему после имени страницы стоит знак вопроса?

Ответ: символы после знака вопроса это строка HTTP-запроса. Строка HTTP-запроса может содержать как имена переменных, так и их значения. В вышеприведённом примере строка HTTP-запроса содержит переменную "id" со значением "1254".

Вот другой пример:

Код:
	http://html.net/page.php?name=Joe

То есть у вас снова переменная ("name") со значением ("Joe").

Как получить переменную с помощью PHP?
Предположим, у вас есть PHP-страница people.php. Можно вызвать её с использованием URL:

Код:
	people.php?name=Joe

В PHP вы можете получить значение переменной 'name' таким образом:

Код:
	$_GET["name"]

То есть вы используете документация$_GET для поиска значения именованной переменной. Попробуем на примере:

Код:
	<html>
	<head>
	<title>Строка запроса</title>
	</head>
	<body>

	<?php

	// Значение переменной найдено
	echo "<h1>Hello " . $ _GET["name"] . "</h1>";

	?>

	</body>
	</html>

Показать пример (обратите внимание на URL)

Попробуйте в этом примере заменить "Joe" вашим собственным в URL и снова вызвать документ! Довольно прикольно, а?

Несколько переменных в одном URL

В URL можно передавать и не одну переменную. Разделяя переменные знаком &, можно передавать несколько:

Код:
	people.php?name=Joe&age=24

Этот URL содержит две переменные: name и age. Как и ранее, можно получит переменные так :

Код:
	$_GET["name"]
	$_GET["age"]

Добавим в пример ещё одну переменную:

Код:
	<html>
	<head>
	<title>Строка запроса</title>
	</head>
	<body>

	<?php

	// Значение имени переменной name найдено
	echo "<h1>Hello " . $_GET["name"] . "</h1>";
	 
	// Значение имени переменной age найдено
	echo "<h1>You are " . $_GET["age"] . " years old </h1>";

	?>

	</body>
	</html>

Показать пример (обратите внимание на URL)

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

0

14

Аучебник по Meta Editor?

0

15

shmalt
впервые об этом слышу, и если что давай в ЛС, а то учебник засорять не охото ))

0