Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Версия для печати

Урок 1. Начала...

Первые 90 процентов работы занимают
10 процентов времени, а последние 10 процентов -
оставшиеся 90 процентов времени.
NN

Итак, вы решились на этот смелый шаг изучения PHP. Только за это вы достойны похвалы. Не стоит понимать это как какое-то запугивание, просто по моему мнению, человек, решивший серьезно заняться программированием, заслуживает уважение за смелость, а человек, научившийся программированию, достоен медали за терпение и упорство. 

Ну все, для вступлений хватит, пора непосредственно переходить к нашим урокам.

Прежде всего нужно сказать: PHP-скрипт для его выполнения должен быть заключен в следующие последовательности символов:

<? собственно скрипт ;?>
либо
<?php скрипт ;?>
или
<script language="php"> сам скрипт </script>


Все они работают одинаково, все дело только в личных предпочтениях. Например, мне больше нравится первый вариант, но вы можете пользоваться любым другим.
Между этими символами будет выполняться каждая строка кода, кроме строк-комментариев, которые обзначаются следующим образом:
// - не выполняются команды от данных символов до конца строки;
/* комментарий */ - не выспринимаются команды между данными символами независимо от количества строк комментария;
# - комментарием считаются все символы от данного знака до конца строки.

Теперь мы познакомимся с одной из самых распространенных функций PHP - функцией вывода echo. Например, скрипт

<? echo "Сейчас мы проходим урок 1";?>

выведет на экран текст "Сейчас мы проходим урок 1" (без кавычек) без какого-либо форматирования. Вы можете опробывать это сами. Для этого необходимо создать файл с расширением. php, .php3, .php4 (хотя последние два использовать не рекомендуется) или. phtml (именно эти расширения дают понять серверу, что в файле содержится php скрипт) и скопировать туда предыдущий пример. После закачки файла на хостинг, набрав в браузере соответствующий URL, вы можете увидеть плод вашего небольшого труда. Добавлю, что внутри кавычек функции echo можно размещать любой текст, в том числе HTML-теги.

НЕ нашли? Не то? Что вы ищете?

Но, конечно же, функция echo была бы бесполезна, если бы выводила одно и то же сообщение. Поэтому мы плавно переходим к понятию переменной. Все без исключения переменные в PHP начинаются со знака $ (доллар). Причем имя переменной не должно начинаться с цифры, хотя внутри себя может её содержать. Заметьте, что имена переменных чувствительны к регистру.

Операция, неразрывно связанная с переменными, - операция присваивания = . Рассмотрим следующий пример:

<? $A=7.135;
$a=15; $mess4="Четверг";
echo "Сегодня $mess4, $a - ое" ;
$9sad=194 //Неправильное имя переменной
?>


Результат выполнения скрипта можно посмотреть здесь.

Интересная особенность PHP заключается в том, что от пользователя не требуется предварительно определять тип переменной. В вышеуказанном примере мы присвоили переменной $A действительное, нецелое число, и она автоматически стала типа double, или, по-другому, float. Переменной $a мы присвоили целое числовое значение, теперь её тип - integer. $mess4 присвоено строковое значение - её тип, соответственно, string. Данная особенность, безусловно, облегчает жизнь разработчика PHP-скриптов.
Как вы заметили выше, каждая операция в PHP  отделяется знаком ; (точка с запятой). Это обязательное условие для всех операций, кроме некоторых функций, которые мы рассмотрим в следующих уроках.

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

<HTML>
<form action="www. ваш_домен. ru/test. php" method="post">
Ваше имя <input type="text" name="name"><br>
Ваша фамилия <input type="text" name="fam"><br>
<input type="submit" value="Да!">
</form></HTML>

 Если мы укажем в свойстве action тега Form в качестве скрипта-обработчика наш файл test. php, содержащий следующие строки:

<? echo "Поздравляю, $name $fam,<br>Вы только что выиграли
1 японский йен. Забрать вы их можете в г. Токио, улица Красных Самураев, д.15"  ;?>

то имена полей формы и их значения передадутся скрипту, который автоматически сделает названия полей переменными, а значения полей - значениями соответствующих переменных.

Вот как будет работать наш пример:

Ваше имя 
Ваша фамилия

Замечу, что данный пример будет работать только если в настройках PHP (они хранятся в файле php. ini) в качестве значения параметра "register_globals" установлено "On".

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

Урок 2. Формы всего сущего.

Форма (эйдос, "морфэ") - специфический
принцип вещи, её сущность, цель и
движущая сила, актуализирующая первоматерию
как простую возможность бытия... 
Русская народная поговорка

На прошлом уроке мы научились передавать данные в php скрипт, что является удивительным явлением с точки зрения программирования: ввод данных происходит с помощью одного языка, обработка и вывод - посредством другого. 

Существует два самых распространенных метода передачи данных из формы в скрипт: GET и POST. Не вдаваясь в технические подробности, скажу лишь, что пользователь может различить их только по виду адресной строки. Например, если URL выглядит http://www. *****/registration. php? name=Vasia&surname=Pupkin, то мы можем сказать, что в данной форме использован метод GET. Этот метод предполагает присоединение к URL имён и значения форм. Причем делается это по следующей схеме:
http://какой-либо_URL/страница. php? имя_переменной=её_значение&имя=значение...
Метод POST, в отличие от GET, незаметен для пользователя и ничего не прибавляет к URL. На данный момент нам этих знаний вполне достаточно.

Перейдем теперь непосредственно к самим формам и рассмотрим различные способы ввода данных  в скрипт.

<Input type="TEXT">

<TextArea>

Два схожих элемента формы, предназначенные для ввода текста. В скрипт значения передаются следующим образом: значение атрибута name становится именем переменной, а введенные в элемент данные - её значением этой переменной.

<SELECT>

Вариант 1 Вариант 2 и т. д.

В HTML это записывается следующим образом:

<form...><select name="variants">
<option value="1">Вариант1</option>
<option  value="2">Вариант 2</option>
<option  value="etc">и т. д.</option>
</select></form>


В скрипт передается переменная variants с одним из значений (1, 2 или etc) в зависимости от выбора пользователя. Если value не указаны, передается текст между тегами <option>.

<Input Type="CheckBox">

В случае установки флажка в обработчик передается переменная с именем, соответствующим имени самого checkbox, со значением On. Если checkbox пуст, то в скрипте эта перенная вообще не будет определена.

<Input type="Radio">


Самый распространенный способ использования этого элемента - выбор только одного из альтернативных вариантов. Для него соответствует следующий HTML код:

<form...>
<Input type="radio" name="var" value="1">Вариант 1
<Input type="radio" name="var" value="variant_2">Вариант 2
</form>

Вариант 1
Вариант 2


В скрипт передастся переменная var со значением либо 1, либо variant_2.

<Input type="HIDDEN">

Невидимый элемент формы, но тем не менее несущий значение в скрипт. В php-программировании его часто используют для передачи данных через несколько страниц. Для этого на каждой странице необходимо расположить php-скрипт, считывающий значение элемента Hidden с предыдущей страницы и присваивающий это значение элементу Hidden текущей страницы. Типичный пример - двухстраничные формы, где все данные формы с первой страницы заносятся в Hidden-элементы формы со второй страницы. Кроме того, этот элемент используется при использовании одного и того же скрипта несколькими формами, что обеспечивает распознавание формы, из которой были переданы данные. Например, формы оценки статей на сайте.

<Input type="SUBMIT">

<Input type="Image" src="адрес">

Оба элемента выполняют одинаковую функцию - подачу запроса на обработку формы. Без одного из этих элементов функциональная форма просто не может существовать. Если с Submit, я думаю, все понятно, то Image имеет одну особенность: этот элемент может передавать скрипту два значения - координаты X и Y пикселя изображения, на который был совершен клик.

До следующего урока я рекомендую попрактиковаться в использовании всех элементов и выводом значений форм функцией ECHO. Кстати, для вывода всех значений форм вместе можно использовать предопределенные переменные $HTTP_GET_VARS или $HTTP_POST_VARS для соответствующих методов передачи данных. О предопределенных переменных мы поговорим попозже, а пока лишь скажу, что это зарезервированные переменные, которые сами берут значения из окружения сервера. Вышеуказанные переменные лучше выводить функцией PRINT_R, а не ECHO. Это должно выглядеть так:

<? print_r ($HTTP_POST_VARS); ?>

А в следующем уроке мы рассмотрим такой тип данных, как массив, а также познакомимся с управляющими конструкциями PHP

Урок 3. Выражаемся по-ПиЭйчПовски

Верить в наше время нельзя никому. Даже себе. Мне - можно.

Итак, на прошлом уроке я обещал начать урок 3 с изучения следующего, четвертого типа данных - массива (три предыдущих см. в уроке 1). Ну что ж, приступим.

 По сути, массив (array) можно представить в виде таблицы:

0

1

2

3

4

Вася

Маша

Дима

Лена

Андрей

Вся эта таблица - массив, назовем его names. Таблица состоит из ячеек с номерами от 0 до 4, в каждой ячейке имеется свое значение. Доступ к какому-либо значению массива достигается следующим образом: $names[индекс], где индекс в нашем примере - число от 0 до 4. Задаваться массив может несколькими способами:

 $names[0] = "Вася";
 $names[1] =  "Маша";  // и так все другие элементы
// либо
$names=array(0=>"Вася", 1=>"Маша", "Дима", "Лена","Андрей");
/* в способе выше необязательно писать 0=>... и 1=>..., так как им автоматически присваиваются эти индексы по порядку (см. аналог ниже) */
// либо
$names[] = "Вася";  /* если индекс не указан, присваивается индекс, на единицу больший максимального индекса до операции*/
$names[] = "Маша"; 

Иногда использование массива с ключами в виде чисел 0,1,2... становится неудобным. В этом случае создается ассоциативный массив. Ассоциативный массив - это массив, в котором индекс не обязательно должен быть последовательным рядом числовых значений. Индексом массива может быть любое число или строка. Например:

$a["мебель"] = "диван";
$fruits = array( 'банан' => 'желтый', "помидор" => "красный" );
$months = array( array( 'январь', 'февраль' ), "весна" => array("март","апрель","май"));

Как видно выше, элементами массива могут быть не только константы и переменные, но и массивы, которые имеют те же свойства, что и обыкновенные. Элементами массива можно манипулировать, как и переменными.

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

Управляющие конструкции.

Оператор условия IF.

Синтаксис:

IF (условие) {
  операции, выполняющиеся в случае, если условие верно
;
} else {
  операции, выполняющиеся при неверном условии
;
}

Логический оператор IF подобен выражению "Если..., то..., иначе...". Оператор может существовать и в урезанном виде: без else и последующих за ним операций. Тогда, если условие окажется неверным, оператор никак не отреагирует.

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

Условием может быть любое выражение, способное возвращать значения либо TRUE (правда), либо FALSE (ложь). Чаще всего в условии используются операторы сравнения, например $a>0. Далее представлены другие возможные операторы сравнения.

 Операторы

 Значение

==
!= , либо <>
<
>
<=
>=

Проверка на равенство
Не равно
Меньше
Больше
Меньше или равно
Больше или равно

Условий в операторе IF может несколько. Тогда они отделяются логическими операторами. Ниже приведена таблица логических операторов.

 Операторы

 Значение

&& или AND
|| или OR
XOR
! (напр. !$a)

Условие верно, если два выражения верны
Условие верно, если хотя бы одно выражение верно
Верно, если только одно выражение верно
Условие верно, если выражение неверно

Заметьте, что условием может выступать любая функция, возвращающая TRUE в случае успешного выполнения, (такие функции можно посмотреть в Мануале или на этом сайте) или все переменные, которые будут возвращать FALSE в случае, если переменная равна нулю или вообще не имеет значения, и TRUE при всех других значения.

Внутри оператора IF может быть вложен другой оператор IF. Тогда слово ELSE заменяется на ELSEIF  и далее по стандартному синтаксису.

Пример:

if ( $a > 3  &&  $a <= 20  && $a!= 5)  {
  $result = $a * $b ;
  echo "Умножаем";
} elseif ( ($a > 20 || $a < 3 ) && $b )  {
/* $b - то же самое, что и $b!= 0 */
  $result = $a / $b ; 
  echo "Делим";
 } else echo "Invalid number" ;


Оператор выбора SWITCH.

Синтаксис:

switch (переменная или выражение) {
  case условие
  команды
;
  break;
  case условие :
  команды ;
  break;
// и так далее
}

По сути, оператор SWITCH заменяет последовательность операторв IF... ELSEIF... ELSEIF и так далее. Просто все это короче записывается и удобнее читается.

Пример:

switch ( $a ) {
  case (int)$a:
  echo "Число $a является целым" ;
  break;
  case "0" :
  echo "Число $a равно нулю" ;
  break;
  default : 
  echo "Число $a не равно нулю";  //default - все другие значения
  break;
}

Цикл FOR.

Синтаксис:

for (выражение 1; выражение 2; выражение 3) {
  команды цикла
;
}

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

В циклах часто используются выражения следующего рода:

 Выражения

 Эквивалент

$a += 2  или  $a -= 3
$a *= 10 или $a /=5
$a++ или $a--
++$a или --$a

$a = $a + 2 или $a = $a - 3
$a = $a * 10 или $a = $a / 5
$a = $a + 1  или  $a= $a - 1
$a = $a + 1  или  $a= $a - 1

Отличие последних двух выражений заключается в том, что при использовании выражения типа $a++ PHP сначала берет оригинальное значение, а затем увеличивает его на единицу. А при использовании выражения вида ++$a значение переменной сначала увеличивается, а затем уже берется это увеличенное значение. Например:

<?
$a=2;
$a++;  //значение $a равно 2
echo $a;  //значение $a равно 3
$a = 4;
--$a;  //значение $a равно 3
echo $a;   //значение $a по-прежнему равно 3
?>

Эти выражения могут использоваться как самостоятельные выражения вне цикла.

Пример:

<?
$p=0;
for ($i = 1; $i <= 4; $i++) {
  $p += $i;
  echo "P равно $p \n" ;
}
?>

Результат выполнения этой программы будет выглядеть так:
P равно 1
P равно 3
P равно 6
P равно 10

Цикл WHILE.

Синтаксис:

while (условие)  {
  команды, выполняющиеся при верности условия
;
}

Цикл WHILE в отличие от цикла FOR используется в случае, если число повторений выполнения команд неизвестно.

Пример:

<?
$p = 10;
$n = 0;
while ($p <= 20) {
 $n++;
  $p+= 0.1*$p;
}
echo "Цикл выполнился ".$n." раз"; ?>

Выше вы могли заметить новый оператор. (точка). Это так называемый оператор "склеивания". Он работает только со строковыми типами данных.

На этом заканчиваем урок, а на следующем мы познакомимся с функциями PHP.

Урок 4. Функционируем?

Язык PHP, как и практически любой современный язык программирования, поддерживает функции. Функции отличаются от других конструкций языка "хвостом" на конце в виде скобок (), между которыми могут присутствовать некоторые аргументы.

В PHP существует два типа функций:

    зарезервированные функции; функции, определяемые пользователем.

С первым типом мы уже сталкивались, например, когда упоминали функцию print_r(). Эти функции уже заранее разработаны производителем, и мы можем беспрепятственно ими воспользоваться. Они имеют самое разнообразное применение: это и математические функции, и функции работы со строками, массивами, файлами, временем и так далее. Все эти функции вы можете посмотреть в Мануале PHP, либо с некоторыми наиболее используемыми функциями, переведенными на русский язык, вы можете познакомиться прямо на этом сайте.

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

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

Синтаксис определения таких функций в общем виде выглядит так:

function имя_функции(аргумент1, аргумент2 и так далее)
{
  некоторый операции, выполняемые при вызове функции ;
}

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

Аргументами функций могут являться переменные и/или константы. Это те значения, которые будут использоваться командами в теле функции.

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

Использование функций, определенных пользователем, полностью идентично использованию зарезервированных функций.

Приведу в качестве примера определение простенькой функции:

function sum($a, $b)
{
  $c = $a + $b;
  echo "$a + $b = $c <br>";
  return $c;
}

Конструкция return аргумент заставляет данную функцию возвращать после своего выполнения значение аргумента. Посмотрим пример использования вышеуказанной функции:

$a = sum(12, 5);
echo $a;
/* этот код выведет
12 + 5 = 17
17
*/

В этом примере переменной $a присвоилось значение, возвращенное  функцией sum (т. е. значение $c). Если бы мы не указали в определении функции return $c, то пример выше вывел бы только 12 + 5 = 17.

Нужно учесть, что все переменные внутри функции являются локальными, действующими только в теле функции. Поэтому в примере выше не было ошибкой строчка $a = sum(12, 5), где в функции sum уже есть своя переменная $a. Эти переменные никоем образом не пересекаются и имеют совершенно разное значение.

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

function word ($word) 
//функция word() и переменная $word - совершенно разные вещи
{
  global $string;  //определение $string как глобальной
  $string = $word." - отличная вещь!";
}
word ("PHP");
echo $string;  //выведет "PHP - отличная вещь!"

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

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

function mult ($a)
{
  static $result=1;  //определение $result как статичной
  $result *= $a;
  echo $result.'<br>';
}
for ($i=2; $i<=4; $i++)
{ mult($i) ;}

/*выведет
2
6
24
*/

Если бы мы не написали static, то пример вывел бы числа 2, 3 и 4.

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

function arr_count ($a, $b=3)  /* значение по умолчанию должно указываться справа */
// такая запись: function arr_count ($b=3, $a) - будет работать неверно
{
  global $array;
  $result = $array[$a] + $array[$b];
  return $result;
}
$array = array(2, 5, 4, 7, 2);
echo arr_count(2)." + ".arr_count(1, 4)." = ".(arr_count(2) + arr_count(1, 4));
// выведет
11 + 7 = 18

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

$CountArray='arr_count';
echo $CountArray(0);  //выведет число 9

На этом все. До следующего урока.

Урок 5. Наша первая считалка.

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

Хорошо. Давайте сначала продумаем, что будет делать наш калькулятор. В первую очередь, он, конечно, должен выполнять арифметические действия: сложение, вычитание, деление и умножение. Неплохо. Но где вы сейчас увидите калькулятор только с такими функциями? Поэтому снабдим его еще несколькими функциями, но перегружать его не будем. Договоримся, что наша "считалка" будет еще вычислять корень из числа, возводить его в указанную степень и, наконец, выводить процент от числа.

Решили? Теперь приступаем. Создаем файл, который называем calc. php. Использование функций позволит нам совместить в этом файле как форму для ввода чисел и других данных, так и вывод результата.

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title>Калькулятор</title>
</head>
<body>
<?  /* приступаем непосредственно php коду */
function show()
{
  global $action;
  ?>
  <FORM method=Get action="calc. php" target="_blank">
/* target="_blank" - результат обработки формы будет выводится в новом окне */
  Первое число
  <input type="text" name="first">
  Второе число (Степень, процент)
  <input type="text" name="second">
  <select size="1" name="action">
    <option value="sum">Сложить</option>
    <option value="min">Вычесть</option>
    <option value="mult">Умножить</option>
    <option value="dev">Разделить</option>
    <option value="stepen">Возвести в степень</option>
    <option value="procent">Процент от числа</option>
    <option value="koren">Корень</option>
  </select>
  <br><input type="submit" value="Выполнить">
  </form>
  <?php 
}  //конец функции show()

Итак, мы определили функцию show, которая, как вы поняли, будет выводить форму. Заметьте, как мы разбили php скрипт, вставив блок HTML, но все же это все относится к одной функции show, это подобно тому, если бы не прерывали скрипт, а вместо этого написали бы echo "<FORM и так далее </html>";. Пока ни о каком дизайне формы нет и речи, это лишь "скелет" Калькулятора.

Продолжаем дальше писать файл calc. php.

function calc()
{
global $action, $result, $first, $second;
switch($action)
 {
  case "sum": $result = $first+$second; break;
  case "min": $result = $first-$second; break;
  case "mult": $result = $first*$second; break;
  case "dev": 
  if (!$second)  /* если второе число равно "0" или вообще не введено */
  {
  exit("Извините, программа не может выполнить действие: на ноль делить нельзя");
  }
  $result=$first/$second; break;
  case "procent": $result = $first*($second/100); break;
  case "stepen": $result = pow($first, $second); break;
  case "koren": $result = pow($first,0.5); break;
 }
?>  //заканчиваем оператор switch
 Результат Вашего действия равен <b>
 <? echo $result; ?>  //вывод результата
 </b>
 </font>
 <?
}  //конец функций calc()

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4

НЕ нашли? Не то? Что вы ищете?
Просмотр