[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вводный курс по PHP от w3schools
bulgakov
Представляю вашему вниманию мою попытку перевода вводного краткого туториала по PHP от w3school, источник находиться здесь.
ВНИМАНИЕ Данный туториал не претендует на роль исчерпывающего материала по php и служит для быстрого знакомства с особенностями языка, нацелен на тех кто хочет кратко ознакомиться с возможностями языка. В дальнейшем если меня не одолеет лень к этому дело планируется перевести и другие материалы курса, в которых уже более подробно будут рассматриваться различные особенности языка. А пока прошу оценить, указать на возможные ошибки, или предложения чем-то дополнить.

PHP Синтаксис
Свернутый текст

Базовый PHP Синтаксис
PHP код выполняется на сервере в результате в браузере пользователя выводиться чистый html.
Блок php кода всегда начинается с открывающего дескриптора - <?php и закрывающего ?>. Код php может быть расположен в любом месте документа. Если на сервере включена поддержка коротких открывающих и закрывающих дескрипторов то код php можно помещать в <? и ?>. Для максимальной совместимости рекомендуется использовать только стандартную форму открывающих и закрывающих тэгов:

<?php

?>


PHP файл обычно содержит HTML тэги, как HTML файл и некоторое количество PHP кода. Ниже мы видим пример просто PHP скрипта который выводит в браузер текст "Hello World":
	
<html>
<
body>

<?php
echo "Hello World";
?>

</body>
</
html>

Каждая строка кода PHP должна заканчиваться точкой с запятой. Точка с запятой отделяет одну строку кода от другой.
Существует два базовых оператора для вывода текста в PHP: echo и print. В примере выше мы использовали для вывода текста "Hello world" оператор echo.
Замечание: Файл скрипта PHP должен иметь расширение .php, если файл будет иметь расширение .html код PHP внутри файла выполняться не будет.

Комментарии в PHP

В PHP используется // для однострочных комментариев или /* и */ для многострочных.

<html>
<
body>

<?php
//Это однострочный комментарий

/*
Это
многострочный
комментарий
*/

?>

</body>
</
html>


Переменные PHP
Свернутый текст

Переменные в PHP

Переменные используются для хранения значений, таких как например текстовые строки, числа или массивы.
Когда переменная объявлена она может вызываться в скрипте любое количество раз.
Все имена переменных в PHP должны начинаться со знака $.
Правильное объявление переменных:

<?php
$var_name = value;
?>

Те кто только начинает изучать PHP часто забывают поставить знак $ в начале имени переменной, что приводит к ошибкам.
Давайте попробуем создать две переменных одна из которых содержит строку, а другая число:

<?php
$txt="Hello World!";
$x=16;
?>

PHP это слабо типизированный язык

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

Правила именования переменных

  • Имя переменной должно начинаться либо с символа либо со знака подчеркивания "_"
  • Переменные PHP могут содержать только буквенно-числовые символы и знаки подчеркивания (a-z, A-Z, 0-9, и _, так же поддерживаются и русские символы в названиях переменных а-я, А-Я, их использование не рекомендуется в связи с возможными проблемами кодировок)
  • Имя переменной не должно содержать пробелы. Если имя переменной состоит более чем из одного слова, то слова должны быть разделены знаком подчеркивания (например $my_string), или символом в верхнем регистре (например $myString)


Строковые переменные в PHP
Свернутый текст

Строковые переменные в PHP

Строковые переменные используются для значений которые содержат текстовые символы.
В этой главе мы наиболее употребляемые функции и операторы для работы со строками в PHP.
После создания строки мы можем управлять ей. Строка может использоваться прямо в функции или храниться в переменной.
Ниже в примере PHP скрипт присваивает переменной $txt значение "Hello world":

<?php
$txt="Hello World";
echo $txt;
?>

Результат работы этого кода будет таким:

Hello world

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

Оператор конкатенации

В PHP существует всего один строковый оператор.
Оператор конкатенации (. точка) исользуется для соединения двух текстовых значений.
Для конкатенации двух строковых переменных используется оператор конкатенации:

<?php
$txt1="Hello World!";
$txt2="What a nice day!";
echo $txt1 . " " . $txt2;
?>

Результатом работы скрипта будет:

Hello World! What a nice day!

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

Функция strlen()

Функция strlen() используется для подсчета длинны строки
Давайте найдем длинну строки:
	
<?php
echo strlen("Hello world!");
?>

Результат будет таким:
	
12

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

Функция strpos()

Функция strpos() используется для поиска символа/текста в строке.
Если искомое значение найдено эта функция вернет позицию найденного символа или части текста с начала строки. Если ничего не найдет то вернется FALSE.
Давайте посмотрим что будет если мы попытаемся найти "world" в нашей строке:

<?php
echo strpos("Hello world!","world");
?>

В результате будет выведено:

6

Позиция строки "world" в вышеприведенном примере - 6. Так как первый символ строки считается как 0 то и в результате мы получили 6.

Операторы PHP
Свернутый текст

Операторы PHP
Операторы используются для операций со значениями.
В этом списке описаны различные операторы используиющиеся в PHP:
Арифметические операторы
Оператор Описание Пример Результат
  • + Сложение x=2; x+2=4

  • - Вычитание x=2; 5-x=3

  • * Умножение x=4; x*5=20

  • / Деление 15/5=3; 5/2=2.5

  • % Модуль 5%2 =1

  • ++ Инкремент x=5; x++; x=6

  • -- Декремент x=5; x--; x=4

Операторы присваивания
Оператор Пример Тоже самое
  • = x=y x=y
  • += x+=y x=x+y
  • -= x-=y x=x-y
  • *= x*=y x=x*y
  • /= x/=y x=x/y
  • .= x.=y x=x.y
  • %= x%=y x=x%y

Операторы сравнения
Оператор Описание Пример
  • == Равно 5==8 возвратит false
  • != Не равно 5!=8 возвратит true
  • <> Не равно 5<>8 возваратит true
  • > Больше чем 5>8 возвратит false
  • < Меньше чем 5<8 возвратит true
  • >= Больше или равно 5>=8 возвратит false
  • <= Меньше или равно 5<=8 возвратит true

Логические операторы
Оператор Описание Пример

  • && И x=6; y=3 (x < 10 && y > 1) вернет true
  • || ИЛИ x=6; y=3 (x==5 || y==5) вернет false
  • ! НЕ x=6; y=3 !(x==y) вернет true

Операторы PHP If...Else
Свернутый текст

Условные операторы

Когда вы пишите код очень часто может потребоваться выполнять какую-то операцию в зависимости от какого-то условия.
Для этого вы можете использовать условные операторы в вашем коде.
В PHP используются следующие условные операторы:
  • if - при использовании этого оператора код выполняется в случае если заданное условие возвращает true.
  • If...else - если заданное условие возвращает true выполняется одна часть кода, если false - другая.
  • if...elseif...else - используется для выбора выполнения из нескольких блоков кода.
  • switch - так же используется для выбора между несколькими действиями.
Оператор if

Если указанное условие true то выполняется некоторый код.

Синтаксис

if (condition) код выполниться если condition(условие) равно true;

Следующий пример выведет "Приятных вам выходных!" если текущий день Пятница:

<html>
<
body>

<?php
$d=date("D");
if ($d=="Fri") echo "Приятных вам выходных!";
?>

</body>
</
html>

Заметьте что здесь не используется else. То есть код выполниться только если указанное условие true.

Оператор If...else

Если заданное условие возвращает true, то выполняется одна часть кода, если false - другая

Синтаксис

if (condition)
код выполниться если условие равно true;
else
код выполниться если условие равно false;

Пример

Следующий пример выведет "Приятных вам выходных!" если текущий день Пятница, иначе он выведет "Приятного дня!":

<html>
<
body>

<?php
$d=date("D");
if ($d=="Fri")
echo "Приятных вам выходных!";
else
echo "Приятного дня!";
?>

</body>
</
html>

Если при использовании условных операторов нужно выполнить более чем одну строку кода, то строки нужно заключить в фигурные скобки:

<html>
<
body>

<?php
$d=date("D");
if ($d=="Fri")
{
echo "Привет!<br />";
echo "Приятных выходных!";
echo "Увидимся в понедельник!";
}
?>

</body>
</
html>

Оператор if...elseif...else

Этот оператор применяется для выбора из нескольких блоков кода для выполнения

Синтаксис

if (condition)
код выполниться если условие равно true;
elseif (condition)
код выполниться если условие равно true;
else
код выполниться если условие равно false;

Пример

В следующем примере будет выведена строка "Приятных выходных!" если текущий день Пятница и "Приятного воскресенья!" если текущий день Воскресенье иначе он выведет "Приятного дня!":

<html>
<
body>

<?php
$d=date("D");
if ($d=="Fri")
echo "Приятных выходных!";
elseif ($d=="Sun")
echo "Приятного воскресенья!";
else
echo "Приятного дня!";
?>

</body>
</
html>


Оператор switch
Свернутый текст

Оператор switch

Используется для выбора выполнения из нескольких блоков кода:

Синтаксис

switch (n)
{
case label1:
код выполняется если n=label1;
break;
case label2:
код выполняется если n=label2;
break;
default:
код выполняется если n не равна ни label1 ни label2;
}

Как это работает: Для начала у нас имеется выражение n (в большинстве случаев это переменная), она вычисляется всего один раз. Затем значение этой переменной сравнивается со значением в каждом блоке case. Если сравнение успешно выполняется блок кода в котором удовлетворилось условие сравнения. Конструкция break используется для предотвращения автоматического выполнения кода в последующих блоках case, если бы не было break после того как выполниться блок кода в котором удовлетворилось условие выполнение кода передалось бы последующим блокам case. Оператор default используется если ни одно сравнение не прошло успешно.

Пример
	
<html>
<
body>

<?php
switch ($x)
{
case 1:
echo "Номер 1";
break;
case 2:
echo "Номер 2";
break;
case 3:
echo "Номер 3";
break;
default:
echo "Не найдены номера от 1 до 3";
}
?>

</body>
</
html>


Массивы PHP
Свернутый текст

Что такое массив?

Переменная это место хранения числа или строки. Проблема в том что переменная содержит только одно значение.
Массив это специальная переменная, которая может хранить много значений в одной переменной.
Если у вас есть список каких-либо предметов (например список автомобилей), вам придется хранить его в разных отдельных переменных:

$cars1="Saab";
$cars2="Volvo";
$cars3="BMW";

Однако что если вы хотите использовать для этого списка цикл для того что бы найти один из элементов? И что если у вас не три автомобиля а несколько сотен?
Лучшее решение для этого это массив.
Массив может хранить ваши значения под одним именем переменной. И вы можете получить доступ к значениям ссылаясь на имя одной переменной.
Каждый элемент массива имеет свой индекс к которому легко получить доступ.
В PHP существует три типа массивов:
  • Индексированный массив - массив с числовыми индексами
  • Ассоциативный массив - массив где каждый ID ключа ассоциирован с его значением
  • Многомерный массив - массив который содержит в себе другие массивы
Индексированный массив

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

1. В следующем примере индекс задается автоматически (индекс начинается с 0):

$cars=array("Saab","Volvo","BMW","Toyota");

2. В следующем примере индекс задается вручную:

$cars[0]="Saab";
$cars[1]="Volvo";
$cars[2]="BMW";
$cars[3]="Toyota";


Пример

В следующем примере доступ к значениям массива осуществляется через его имя и индекс ячейки:

<?php
$cars[0]="Saab";
$cars[1]="Volvo";
$cars[2]="BMW";
$cars[3]="Toyota";
echo $cars[0] . " и " . $cars[1] . " это шведские машины.";
?>


Код выше выведет в результате:

Saab и Volvo это шведские машины.


Ассоциативные массивы

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

Пример 1

В следующем примере используется массив для присвоения возраста различным людям:

$ages = array("Peter"=>32, "Quagmire"=>30, "Joe"=>34);


Пример 2

Этот пример делает то же самое что и пример 1 только немного другим способом:
	
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";


ID ключа может использоваться внутри скрипта:

<?php
$ages['Peter'] = "32";
$ages['Quagmire'] = "30";
$ages['Joe'] = "34";

echo "Peter " . $ages['Peter'] . " лет(года).";
?>

Код выше выведет:

Peter 32 лет(года).

Многомерные массивы

В многомерных массивах каждый элемент массива в свою очередь может содержать массив. И каждый элемент под-массива может содержать свой массив и так далее.

Пример

В этом примере мы создаем многомерный массив с автоматическим присваиванием ID ключей:

$families = array
(
"Griffin"=>array
(
"Peter",
"Lois",
"Megan"
),
"Quagmire"=>array
(
"Glenn"
),
"Brown"=>array
(
"Cleveland",
"Loretta",
"Junior"
)
);


Структура массива выше выглядит так:

Array
(
[Griffin] => Array
(
[0] => Peter
[1] => Lois
[2] => Megan
)
[Quagmire] => Array
(
[0] => Glenn
)
[Brown] => Array
(
[0] => Cleveland
[1] => Loretta
[2] => Junior
)

Давайте попробуем получить одно значение из вышеприведенного массива:

echo "Is " . $families['Griffin'][2] .
" a part of the Griffin family?";

Этот код выведет:

Is Megan a part of the Griffin family?


PHP циклы. Цикл While
Свернутый текст

PHP циклы

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

В PHP существуют следующие операторы циклов:
  • while - выполняет блок кода до тех пор пока указанное условие равно true
  • do...while - сначала независимо от условия сравнения выполняет код один раз, а потом уже код выполняется до тех пор пока указанное условие равно true
  • for - выполняет код заданное количество раз.
  • foreach - в соответствии с кодом обрабатывает каждый элемент массива.


Цикл while

В цикле while блок кода выполняется до тех пор пока условие равно true

Синтаксис

while (condition)
{
выполняющийся код;
}

Пример

Пример ниже определяет цикл в котором определен начальный счетчик i=1. В цикле while код будет выполняться до тех пор пока значение i меньше или равно 5. Счетчик i увеличивается на единицу после каждого прохода цикла.

<html>
<
body>

<?php
$i=1;
while($i<=5)
{
echo "Число " . $i . "<br />";
$i++;
}
?>

</body>
</
html>

Вывод

Число 1
Число 2
Число 3
Число 4
Число 5

Цикл do...while

В цикле do...while блок кода выплоняется хотя бы один раз, а затем уже идет сверка с условием цикла и код продолжает выполняться до тех пор пока условие равно true.

Синтаксис

do
{
выполняющийся код;
}
while (condition);

Пример

Пример ниже определяет цикл в котором счетчик цикла i=1. В цикле значение счетчика увеличивается на 1 и выводится некоторое значение. Затем происходит сверка с условием цикла и цикл выполняется до тех пор пока i меньше или равно 5

<html>
<
body>

<?php
$i=1;
do
{
$i++;
echo "Число " . $i . "<br />";
}
while ($i<=5);
?>

</body>
</
html>

Вывод

Число 1
Число 2
Число 3
Число 4
Число 5
Число 6


Цикл for
Свернутый текст

Цикл for

Цикл for используется в тех случаях когда вы знаете какое количество раз должен выполниться код.

Синтаксис

for (init; condition; increment)
{
выполняющийся код
}

Параметры
  • init: В большинстве случаев используется для определения счетчика цикла (но может использоваться любой код который выполняется перед началом цикла)
  • condition: Вычисляется при каждой итерации (проходе) цикла. Если результатом вычисления будет TRUE, то цикл продолжается. Если FALSE - цикл заканчивается.
  • increment: В большинстве случаев используется для увеличения счетчика (init) (но может использоваться любой код который выполняется в конце цикла)
Заметка: Любой параметр цикла for может быть пустым, или содержать несколько выражений (разделенных запятыми).

Пример

В примере ниже определяется цикл и счетчик цикла i=1. Цикл выполняется до тех пор пока i меньше или равно 5, после каждой итерации цикла значение i увеличивается на единицу.

<html>
<
body>

<?php
for ($i=1; $i<=5; $i++)
{
echo "Число " . $i . "<br />";
}
?>

</body>
</
html>

Вывод

Число 1
Число 2
Число 3
Число 4
Число 5

Цикл foreach

Foreach используется в качестве цикла для работы с массивами.

Синтаксис

foreach ($array as $value)
{
Код для выполнения;
}

При каждой итерации цикла, значение текущей ячейки массива $array присваивается переменной $value (и указатель внутри массива перемещается на следующую ячейку). При следующей итерации переменной присваивается значение следующей ячейки массива.

Пример

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

<html>
<
body>

<?php
$x=array("один","два","три");
foreach ($x as $value)
{
echo $value . "<br />";
}
?>

</body>
</
html>

Вывод

один
два
три


Функции PHP
Свернутый текст

Создание функции PHP

Синтаксис

function functionName()
{
выполняющийся код;
}

Правила создания функций:
  • Давайте функциям имена которые отражают то что выполняет функция
  • Имя функции может начинаться с символа или знака подчеркивания (с числа функция не может начинаться)

Пример

Простая функция которая выводит имя когда она вызывается:

<html>
<
body>

<?php
function
writeName()
{
echo "Александр";
}

echo "Меня зовут ";
writeName();
?>

</body>
</
html>

Вывод
	
Меня зовут Александр


PHP функции - добавление параметров

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

Пример 1

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

<html>
<
body>

<?php
function
writeName($fname)
{
echo $fname . " Иванов.<br />";
}

echo "Меня зовут ";
writeName("Александр");
echo "Моего брата зовут ";
writeName("Михаил");
echo "Моего отца зовут ";
writeName("Иван");
?>

</body>
</
html>

Вывод

Меня зовут Александр Иванов
Моего брата зовут Михаил Иванов
Моего отца зовут Иван Иванов

Пример 2

Следующая функция имеет два параметра:

<html>
<
body>

<?php
function
writeName($fname,$punctuation)
{
echo $fname . " Иванов" . $punctuation . "<br />";
}

echo "Меня зовут";
writeName("Александр",".");
echo "Моего брата зовут ";
writeName("Михаил","!");
echo "Моего отца зовут ";
writeName("Иван","?");
?>

</body>
</
html>

Вывод

Меня зовут Александр Иванов.
Моего брата зовут Михаил Иванов!
Моего отца зовут Иван Иванов?

PHP функции - возвращаемые значения

Функции так же могут возвращать значения используя специальный оператор return.

Пример

<html>
<
body>

<?php
function
add($x,$y)
{
$total=$x+$y;
return $total;
}

echo "1 + 16 = " . add(1,16);
?>

</body>
</
html>

Вывод

1 + 16 = 17


PHP формы и пользовательский вывод
Свернутый текст


PHP управление формами
В PHP есть специальные глобальные массивы $_GET и $_POST, которые используются для хранения информации от пользователей, пользовательский ввод.
Важная вещь при работе с HTML формами и PHP это то что элементы форм в HTML будут автоматически доступны в PHP сценариях.

Пример

Пример ниже содержит HTML форму с двумя полями ввода и кнопку отправки формы:

<html>
<
body>

<
form action="welcome.php" method="post">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<
input type="submit" />
</
form>

</
body>
</
html>

Когда пользователь заполнит поля формы и нажмет кнопку отправки, данные из формы передадуться на обработку php файлу - "welcome.php":

"welcome.php" выглядит так:

<html>
<
body>

Добро пожаловать <?php echo $_POST["fname"]; ?>!<br />
Вам <?php echo $_POST["age"]; ?> лет(года).

</
body>
</
html>

В результате скрипт должен вывести что-то наподобии этого:

Добро пожаловать Александр!
Вам 27 лет(года).

Массивы $_GET и $_POST будут объяснены в следующих главах.

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


Массив $_GET
Свернутый текст


Массив $_GET

В PHP существует глобальный массив $_GET в котором храняться значения переданные от пользователя методом "get" (атрибут method тега form:
 <form action="action.php" method="get">
)
Информация отправляемая с помощью метода GET видна всем, она отображается в адресной строке браузера и имеет ограничение по размеру.

Пример

<form action="welcome.php" method="get">
Name: <input type="text" name="fname" />
Age: <input type="text" name="age" />
<
input type="submit" />
</
form>

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

http://www.w3schools.com/welcome.php?fname=Peter&age=37

Через файл "welcome.php" теперь можно получить доступ к массиву $_GET в котором будут содержаться данные отправленные через форму (именя полей формы автоматически будут ключами ячеек массива $_GET).

Добро пожаловать <?php echo $_GET["fname"]; ?>.<br />
Вам <?php echo $_GET["age"]; ?> лет(года)!

Когда использовать метод "get"?

Когда используется метод "get" в HTML формах все имена и значения отображаются в адресной строке в URL.
Заметка: Этот метод не должен использоваться при отправке пароля или другой конфеденциальной информации!
Однако поскольку переменные отображаются в URL, страницу можно добавить в закладки что иногда полезно в некоторых случях.
Заметка: Метод get не предназначен для передачи больших объемов данных. Не рекомендуется передавать методом get значения объемом более 2000 символов.


Массив $_POST
Свернутый текст


Массив $_POST

В PHP существует глобальный массив $_POST в котором храняться значения переданные от пользователя методом "post" (атрибут method тега form:
<form action="action.php" method="post">
)

Информация переданная через форму методом POST невидима пользователю и не имеет ограничения размера.
Заметка: Однако по умолчанию в PHP максимальный размер передаваемых данных через POST равен 8Mb и может быть изменен установкой нужного значения параметра post_max_size в файле настроек php.ini.

Пример

<form action="welcome.php" method="post">
Имя: <input type="text" name="fname" />
Возраст: <input type="text" name="age" />
<
input type="submit" />
</
form>

Когда пользователь нажмет кнопку отправки формы URL будет выглядеть примерно так:

http://www.w3schools.com/welcome.php

Теперь через файл "welcome.php" можно получить доступ к значениям элементов массива $_POST в котором будут хранится данные переданные пользователем методом POST (ключи ячеек массива будут иметь такие же имена как имена полей формы):

Добро пожаловать <?php echo $_POST["fname"]; ?>!<br />
Ваш возраст <?php echo $_POST["age"]; ?> лет(года).


Когда использовать метод "post"?

Информация переданная через "post" невидима в браузере и не имеет ограничения по размеру. Однако из-за того что переменные не видны в URL, страницу с передаваемыми параметрами невозможно добавить в закладки.






Спустя 5 минут, 58 секунд (27.11.2011 - 16:47) TranceIT написал(а):
Замените Hello World на Hello Stupid.
А то банально как-то =)))

Спустя 1 минута, 15 секунд (27.11.2011 - 16:48) bulgakov написал(а):
TranceIT
Ну зачем же так грубо)

Спустя 6 минут, 1 секунда (27.11.2011 - 16:54) inpost написал(а):
Стилей нет, это плохо.

Спустя 6 минут, 33 секунды (27.11.2011 - 17:01) bulgakov написал(а):
Цитата
Стилей нет, это плохо.

CSS?

Спустя 7 минут, 34 секунды (27.11.2011 - 17:08) johniek_comp написал(а):
классно!
а можно скопирайтить? smile.gif

Спустя 33 секунды (27.11.2011 - 17:09) inpost написал(а):
bulgakov
if()
do
else
do

Спустя 4 минуты, 45 секунд (27.11.2011 - 17:13) bulgakov написал(а):
inpost
А понял, спасибо, исправлю.

Спустя 38 секунд (27.11.2011 - 17:14) bulgakov написал(а):
Цитата
а можно скопирайтить?

Да на здоровье
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.