Все записи автора Oleksiy

Уроки PHP — while — endwhile

Маленькое отступление от глобальных и умных слов: оператор endwhile заменяет собой фигурные скобочки 😉

Как это происходит на практике:

Раньше (до того, как узнали о существовании endwhile) мы писали код так:

<!DOCTYPE html>
<html>
<head>
<title>A loop of your own</title>
<link type=’text/css’ rel=’stylesheet’ href=’style.css’/>
</head>
<body>
<?php
//Add while loop below
$f = 0;
while ($f < 3) {
echo «Hallo».» $f».»<br>»;
$f ++;
}
?>
</body>
</html>

<?php
//Add while loop below
$minimal = 0;
$maximal = 10;
while ($minimal < $maximal) {
echo "Hallo"."$minimal"."\n";
$minimal ++;
}

но теперь, озаренные лучами просвещения, и вооруженные endwhile, мы пишем код так:

<!DOCTYPE html>
<html>
<head>
<title>A loop of your own</title>
<link type=’text/css’ rel=’stylesheet’ href=’style.css’/>
</head>
<body>
<?php
//Add while loop below
$f = 0;
while ($f < 3):
echo «Hallo».» $f».»<br>»;
$f ++;
endwhile;
?>
</body>
</html>

<?php
//Add while loop below
$f = 0;
while ($f < 3):
echo "Hallo "."$f"."\n";
$f ++;
endwhile;
?>

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

Уроки PHP — while

Ночь-полночь, и как всегда в это время — пора выучить что-то новое в PHP.

Сегодня мы сделаем что-то самостоятельное с применением оператора while.

(тут масса умных слов о необходимости обучения, циклах и прочем, но вы все равно это читать не будете, потому просто набросаем код и пойдем спать, удовлетворенные мыслями о собственном величии 😉 ):

<!DOCTYPE html>
<html>
<head>
<title>A loop of your own</title>
<link type=’text/css’ rel=’stylesheet’ href=’style.css’/>
</head>
<body>
<?php
$f = 0; //задали начальный размер переменной
while ($f < 3) { // сказали PHP нечто вроде: выполняем цикл в фигурных скобках до тех пор, пока он не станет больше 3
echo «Hallo».» $f».»<br>»; // а что мы делаем, когда проходим одну цикличность? Выводим на печать слово ХЕЛЛО, и номер цикла, который генерируется динамически
$f ++; // вывели на печать слово ХЕЛЛО? Великолепно! Увеличиваем значение переменной на 1
} //Возвращаемся на while — если условие выполнено — выходим за фигурные скобки, если нет — выполняем
?>
</body>
</html>

php-whileКак видим — все просто. Ну как все… почти. По крайней мере методика создания петли в петле для меня осталась чем-то возвышенным. Но как говорят — практика, практика, и еще раз практика.

Кстати, напоминаю, что специально для работы в режиме он-лайн неплохо, вернее даже — великолепно! помогает сайт koding.com, позволяющий вам создавать совершенно бесплатную виртуальную машину с определенными лимитами, но массой удобств. Кликните на ссылку, и будет вам счастье.

Понравился урок? Жми класс и делай репост к себе на страницы.

Фак Роскомнадзору и иже с ним — часть 1

доступ запрещенЯ сторонник свободы доступа к информации. Да, мне несомненно будет неприятно найти свои личные данные где-то в общем доступе — и это одна из граней свободной информации, но вот что бы кто-то решал — могу ли я свободно прочесть что-то вроде «Сопри эту книгу» Эбби Хоффмана (запрещена в Канаде и США), «Моя борьба» Гитлера (тираж контролируется, да и вообще книга крайне редко встречается в свободном доступе), не говоря уже о крайне опасной для подростков «Над пропастью во ржи» Джея Ди Сэлинджера, которую то запрещают, то цензурят, то опять запрещают… Подобная мысль мне просто противна. Равно как и мысль о том, что по велению какого-то надзорного комитета вдруг могут стать недоступными какие-то сайты в Сети.

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

Так вот … мы не будем разбираться с причинами блокировки. Мы просто попробуем понять, как обойти ее. На самом-то деле все просто, и есть несколько крайне простых методик, благодаря которым можно обломать любой Роскомнадзор. Проверенно Великой Китайской Стеной, да 😉

Сегодняшний вечер мы посвятим ознакомлению с TOR, немного о котором я писал ранее.

Рассмотрим основные вопросы использования TOR-браузера:

1. Как это работает?

С теоретической точки зрения все просто: каждый пакет, отправляемый через TOR-сеть шифруется тремя ключами, после чего отправляется на первый прокси-сервер, выбираемый случайным образом. После захода на первый прокси — снимается первый ключ шифрования, после чего сервер узнает — куда далее отправить пакет. Второй прокси-сервер, получивший пакет, снимает второй слой шифра, после чего узнает адрес третьего прокси-сервера, который в свою очередь после получения многострадального пакета снимает третий слой шифрования, и отправлять на целевой адрес запрос в чистом виде. Обратный трафик идет по аналогичной методике.

Неплохой иллюстрацией всего этого процесса будет следующая картинка:

TOR - общая схема работы
TOR — общая схема работы

2. Метод работы

Если не вдаваться углубленно — заходите на ссылку и качайте инсталятор клиента TOR-сети. Запустив инсталятор мы видим меню выбора языка:

TOR - выбор языкавыбираем необходимый нам язык и кликаем Ok, после чего получаем возможность выбрать папку для установки клиента. Выбрав нужный вам каталог — запускайте процесс инсталяции (скорость установки зависит от конфигурации системы).

После завершения установки клиента — запускаем его и попадаем в меню начальной настройки клиента:

tor сетевые настройки

Интересной особенностью TOR — клиента является возможность настройки его работы на компьютерах, чей трафик жестко контролируется либо вредными админами, либо организациями, предпочитающими решать что-то за кого-то. Эта возможность будет доступна вам по клику на пункт «Настроить» после текста «Интернет-соединение этого компьютера цензурируется или находится за прокси…». Однако (в моей практике) — подобная настройка понадобилась только в Китае — на компьютере, работающим за «Великой китайской стеной». Потому в стандартной ситуации вам хватит обычной работы TOR-клиента, начало которой становится возможным после нажатия кнопки «Соединиться».

Сразу после запуска клиента у вас имеется возможность настроить параметры конфиденциальности: возможность сохранения куков, и прочее (рекомендую оставить данные настройки без изменений). Это не даст вам 100% гарантии анонимности и отсутствия возможности получения данных о ваших перемещениях в Сети при доступе непосредственно к вашему компьютеру (специально для этого есть иные методы, которые будут рассмотрены чуть позже 😉 ), но все же обеспечит определенный комфорт и безопасность.

tor настройки безопасности

Что же … Поздравляю 🙂 Ваш клиент готов к работе. Проверить его работоспособность достаточно просто — зайдем на сайт http://myip.ru, позволяющий отследить ваш текущий IP-адрес. В моем случае он показывает следующее:

мой ipЕсли вам интересно увидеть всю цепочку транзитных серверов, через которые идет ваш трафик — кликните на картинку луковицы в левом верхнем углу — так вы сможете не только посмотреть цепочку, но и активировать новую личность (перегрузить цепочку серверов для получения нового IP-адреса, обнулить весь кеш браузера, очистить полученные куки и прочее), или же просто перегрузить цепочку серверов. В моем случае цепочка получается следующей:

tor-цепочка

 

— мой компьютер, Франция, Нидерланды, Нидерланды, целевой сайт

А вот какая цепочка и IP — будет после получения «Новой личности»:

tor-цепочка2

 

— мой компьютер, Франция, Франция, Нидерланды, целевой сайт

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

Спасибо за внимание 🙂

Понравилась статья? Сделайте репост на свою страницу 🙂

Есть вопросы? Задавайте!

Уроки PHP — foreach

php-lesson-foreachОсобенностью сегодняшнего урока будет тот факт, что оператор foreach применяется только с массивами и объектами — собственно говоря для переборки массивов этот оператор и используется.

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

Итак, для начала рассмотрим код, предлагаемый Codecademy:

<html>
<head>
<title></title>
</head>
<body>
<p>
<?php
$sentence = array(«I’m «, «learning «, «PHP!»);

___ ($sentence as $word) ___
echo $word;
___
?>
</p>
</body>
</html>

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

<?php
$numbers = array(1, 2, 3);
foreach($numbers as $item) {
echo $item;
}
?>
За все время изучения PHP мы с вами немного запомнили основные команды и операторы, потому рассматривать код в данном случае особо не будем - и так понятно, что у нас имеется массив, состоящий из слов: "I'm ", "learning ", "PHP!". Перейдем лучше к foreach: его использование начинается с объявления PHP суровой необходимости работы с массивами: foreach ($sentence as $word), что в переводе на простой человеческий может звучать как: начинаем перебирать массив, и каждое значение из массива объявляем временной переменной. После чего мы просто выводим полученное значение: echo $word;
Код, представленный Codecademy, в окончательной форме будет иметь следующий вид: 
<html>
<head>
<title></title>
</head>
<body>
<p>
<?php
$sentence = array("I'm ", "learning ", "PHP!");
foreach ($sentence as $word) {
echo $word;
}
?>
</p>
</body>
</html>
Для большего развлечения я предлагаю создать код, который сгенерирует ряд случайных чисел, сформирует их них массив, который мы выведем на экран отдельными позициями. Надеюсь, что идея сработает - ведь я тоже только начинаю изучение PHP :) 
Начнем с генерации случайных числе - напомню, что эта операция происходит с помощью команды $a = mt_rand (1,5);, где (1;5) - верхние и нижние ограничения генерируемого числа. 
Итак, ниже представлен код, который работает по следующей схеме:
1. Генерируем переменную $a
2. Генерируем переменную $b
3. Формируем массив, который состоит из переменных $a и $b, а так же их суммы
4. С помощью оператора foreach выводим на экран значения ячеек
5. Радуемся
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>
<?php
$a = mt_rand (1,10); //генерируем значение переменной а
$b = mt_rand (11,15); // генерируем значение переменной в
$test = array($a, $b, $a+$b); // создаем и заполняем массив
foreach ($test as $number) { // перебираем массив, и выводим его значения
echo $number."<br>"; //выводим значения поочередно, каждое - на новой строке (за это отвечает br)
}
?>
</p>
</body>
</html>

Уроки PHP — loop — выводим числа десятками от 1 до 100

Сегодняшний урок в Codecademy нацелен на самостоятельное задание: вывести на экран каждое десятое число в промежутке от 1 до 100.

Для начала имеется следующий код:

  1. <html>
    
  2. <head>
    
  3. <title>Solo For Loop!</title>
    
  4. </head>
    
  5. <body>
    
  6. <p>
    
  7. <?php
    
  8. // Write your for loop below!
    
  9.  
  10. ?>
    
  11. </p>
    
  12. </body>
    
  13. </html>

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

  1. for ($i = 0; $i < 101; $i = $i + 10) {
    
  2. echo $i."<br>";
    
  3. }

Как видно из кода выше — мы создали переменную $i, задали ее начальное значение — нуль, после чего сказали, что она может меняться только до значения 101, а меняться по схеме: начальное значение $i + 10. Таким образом мы отметили, что нас интересует каждое десятое число в промежутке от 0 до 100. И собственно — каждое это число нужно вывести: echo $i.»
«;

Отдельно отмечу, что br служит для вывода значения $i на отдельной строке, что значительно улучшает внешний вид.

  1. <html>
    
  2. <head>
    
  3. <title>Solo For Loop!</title>
    
  4. </head>
    
  5. <body>
    
  6. <p>
    
  7. <?php
    
  8. // Write your for loop below!
    
  9. for ($i = 0; $i < 101; $i = $i + 10) {
    
  10. echo $i."<br>";
    
  11. }
    
  12. ?>
    
  13. </p>
    
  14. </body>
    
  15. </html>