This media is not supported in your browser
VIEW IN TELEGRAM
📘 Полное руководство по PHP – Глава 31: Работа с файлами и загрузка данных на сервер 🐘
В этой главе мы рассмотрим, как работать с файлами в PHP, включая загрузку файлов на сервер, чтение и запись данных, а также управление файловой системой. Эти навыки необходимы для создания функциональных веб-приложений.
---
### 1. Загрузка файлов на сервер
PHP позволяет загружать файлы на сервер через HTML-форму.
#### HTML-форма
#### Обработка загрузки (
---
### 2. Чтение и запись файлов
PHP предоставляет функции для работы с файлами.
#### Чтение файла
#### Запись в файл
---
### 3. Работа с директориями
PHP позволяет создавать, удалять и переименовывать директории.
#### Создание директории
#### Удаление директории
#### Переименование директории
---
### 4. Работа с CSV
CSV (Comma-Separated Values) — это формат для хранения табличных данных.
#### Чтение CSV
#### Запись в CSV
---
### 5. Работа с JSON
JSON (JavaScript Object Notation) — это популярный формат для обмена данными.
#### Чтение JSON
#### Запись JSON
---
### 6. Управление файловой системой
PHP предоставляет функции для работы с файловой системой.
#### Проверка существования файла
#### Получение размера файла
#### Удаление файла
---
🎯 Что дальше?
В следующей главе мы изучим работу с сессиями и куками, а также управление состоянием пользователя. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #Файлы #Загрузка #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
В этой главе мы рассмотрим, как работать с файлами в PHP, включая загрузку файлов на сервер, чтение и запись данных, а также управление файловой системой. Эти навыки необходимы для создания функциональных веб-приложений.
---
### 1. Загрузка файлов на сервер
PHP позволяет загружать файлы на сервер через HTML-форму.
#### HTML-форма
<form action="upload.php" method="post" enctype="multipart/form-data">
Выберите файл: <input type="file" name="file">
<input type="submit" value="Загрузить">
</form>
#### Обработка загрузки (
upload.php)<?php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
$upload_dir = 'uploads/';
$upload_file = $upload_dir . basename($_FILES['file']['name']);
if (move_uploaded_file($_FILES['file']['tmp_name'], $upload_file)) {
echo "Файл успешно загружен!";
} else {
echo "Ошибка при загрузке файла!";
}
} else {
echo "Ошибка: " . $_FILES['file']['error'];
}
?>
---
### 2. Чтение и запись файлов
PHP предоставляет функции для работы с файлами.
#### Чтение файла
<?php
$file = fopen("example.txt", "r") or die("Не удалось открыть файл!");
echo fread($file, filesize("example.txt"));
fclose($file);
?>
#### Запись в файл
<?php
$file = fopen("example.txt", "w") or die("Не удалось открыть файл!");
$text = "Привет, мир!";
fwrite($file, $text);
fclose($file);
?>
---
### 3. Работа с директориями
PHP позволяет создавать, удалять и переименовывать директории.
#### Создание директории
<?php
if (!file_exists("new_dir")) {
mkdir("new_dir");
echo "Директория создана!";
} else {
echo "Директория уже существует!";
}
?>
#### Удаление директории
<?php
if (file_exists("new_dir")) {
rmdir("new_dir");
echo "Директория удалена!";
} else {
echo "Директория не существует!";
}
?>
#### Переименование директории
<?php
if (file_exists("old_dir")) {
rename("old_dir", "new_dir");
echo "Директория переименована!";
} else {
echo "Директория не существует!";
}
?>
---
### 4. Работа с CSV
CSV (Comma-Separated Values) — это формат для хранения табличных данных.
#### Чтение CSV
<?php
$file = fopen("data.csv", "r");
while (($data = fgetcsv($file, 1000, ",")) !== FALSE) {
print_r($data);
}
fclose($file);
?>
#### Запись в CSV
<?php
$file = fopen("data.csv", "w");
$data = [
["Иван", 25],
["Мария", 30]
];
foreach ($data as $row) {
fputcsv($file, $row);
}
fclose($file);
?>
---
### 5. Работа с JSON
JSON (JavaScript Object Notation) — это популярный формат для обмена данными.
#### Чтение JSON
<?php
$json = '{"name": "Иван", "age": 25}';
$array = json_decode($json, true);
print_r($array);
?>
#### Запись JSON
<?php
$array = ["name" => "Иван", "age" => 25];
$json = json_encode($array);
echo $json;
?>
---
### 6. Управление файловой системой
PHP предоставляет функции для работы с файловой системой.
#### Проверка существования файла
<?php
if (file_exists("example.txt")) {
echo "Файл существует!";
} else {
echo "Файл не существует!";
}
?>
#### Получение размера файла
<?php
echo "Размер файла: " . filesize("example.txt") . " байт";
?>
#### Удаление файла
<?php
if (unlink("example.txt")) {
echo "Файл удалён!";
} else {
echo "Ошибка при удалении файла!";
}
?>
---
🎯 Что дальше?
В следующей главе мы изучим работу с сессиями и куками, а также управление состоянием пользователя. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #Файлы #Загрузка #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
This media is not supported in your browser
VIEW IN TELEGRAM
📘 Полное руководство по PHP – Глава 32: Работа с сессиями и куками 🐘
В этой главе мы рассмотрим, как управлять состоянием пользователя с помощью сессий и кук. Эти технологии позволяют сохранять данные между запросами, что особенно полезно для авторизации, корзин покупок и персонализации.
---
### 1. Сессии
Сессии позволяют хранить данные на сервере для каждого пользователя. Каждая сессия имеет уникальный идентификатор, который передаётся через куки.
#### Начало сессии
#### Сохранение данных в сессии
#### Получение данных из сессии
#### Удаление данных из сессии
#### Завершение сессии
---
### 2. Куки
Куки позволяют хранить данные на стороне клиента. Они могут быть использованы для персонализации или отслеживания пользователей.
#### Установка куки
#### Получение данных из куки
#### Удаление куки
---
### 3. Пример: Авторизация с использованием сессий
#### Форма входа
#### Обработка входа (
#### Проверка авторизации
#### Выход из системы
---
### 4. Пример: Запоминание пользователя с использованием кук
#### Установка куки при входе
#### Проверка куки
---
### 5. Безопасность
- Сессии: Используйте
- Куки: Устанавливайте флаг
---
🎯 Что дальше?
В следующей главе мы изучим работу с базами данных, включая PDO и ORM. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #Сессии #Куки #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
В этой главе мы рассмотрим, как управлять состоянием пользователя с помощью сессий и кук. Эти технологии позволяют сохранять данные между запросами, что особенно полезно для авторизации, корзин покупок и персонализации.
---
### 1. Сессии
Сессии позволяют хранить данные на сервере для каждого пользователя. Каждая сессия имеет уникальный идентификатор, который передаётся через куки.
#### Начало сессии
<?php
session_start();
?>
#### Сохранение данных в сессии
<?php
session_start();
$_SESSION['username'] = "Иван";
echo "Данные сохранены в сессии!";
?>
#### Получение данных из сессии
<?php
session_start();
if (isset($_SESSION['username'])) {
echo "Привет, " . $_SESSION['username'] . "!";
} else {
echo "Сессия не найдена!";
}
?>
#### Удаление данных из сессии
<?php
session_start();
unset($_SESSION['username']);
echo "Данные удалены из сессии!";
?>
#### Завершение сессии
<?php
session_start();
session_destroy();
echo "Сессия завершена!";
?>
---
### 2. Куки
Куки позволяют хранить данные на стороне клиента. Они могут быть использованы для персонализации или отслеживания пользователей.
#### Установка куки
<?php
setcookie("username", "Иван", time() + 3600, "/");
echo "Кука установлена!";
?>
#### Получение данных из куки
<?php
if (isset($_COOKIE['username'])) {
echo "Привет, " . $_COOKIE['username'] . "!";
} else {
echo "Кука не найдена!";
}
?>
#### Удаление куки
<?php
setcookie("username", "", time() - 3600, "/");
echo "Кука удалена!";
?>
---
### 3. Пример: Авторизация с использованием сессий
#### Форма входа
<form action="login.php" method="post">
Имя пользователя: <input type="text" name="username">
Пароль: <input type="password" name="password">
<input type="submit" value="Войти">
</form>
#### Обработка входа (
login.php)<?php
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
// Проверка логина и пароля (пример)
if ($username === "Иван" && $password === "12345") {
$_SESSION['username'] = $username;
echo "Вход выполнен!";
} else {
echo "Неверные данные!";
}
?>
#### Проверка авторизации
<?php
session_start();
if (isset($_SESSION['username'])) {
echo "Привет, " . $_SESSION['username'] . "!";
} else {
echo "Пожалуйста, войдите в систему.";
}
?>
#### Выход из системы
<?php
session_start();
session_destroy();
echo "Вы вышли из системы!";
?>
---
### 4. Пример: Запоминание пользователя с использованием кук
#### Установка куки при входе
<?php
$username = $_POST['username'];
$password = $_POST['password'];
if ($username === "Иван" && $password === "12345") {
setcookie("username", $username, time() + 3600, "/");
echo "Вход выполнен!";
} else {
echo "Неверные данные!";
}
?>
#### Проверка куки
<?php
if (isset($_COOKIE['username'])) {
echo "Привет, " . $_COOKIE['username'] . "!";
} else {
echo "Пожалуйста, войдите в систему.";
}
?>
---
### 5. Безопасность
- Сессии: Используйте
session_regenerate_id() для предотвращения фиксации сессии.- Куки: Устанавливайте флаг
HttpOnly и Secure для защиты от XSS и перехвата. setcookie("username", "Иван", time() + 3600, "/", "", true, true);
---
🎯 Что дальше?
В следующей главе мы изучим работу с базами данных, включая PDO и ORM. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #Сессии #Куки #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
React JS, Redux, ES2015 с Нуля до Гуру
Последнее время все большим и большим спросом на рынке пользуется язык программирования Javascript.
Именно благодаря ему появилась возможность создавать большие веб приложения, или так называемые одностраничники – single page application - сайты, где есть всего одна страница, а все остальное динамически делается Javascript’ом. Т.е движок сайта находится на клиентской стороне. Например Google Docs, Google Spreadsheet, Microsoft Outlook и многое другое.
Все перечисленные приложения – аналоги полноценных компьютерных программ, которые ничуть не уступают им, а даже наоборот, превосходят своих прародителей как минимум из-за того, что браузер доступен с любого устройства и не зависит от системы, в которой он запускается.
Созданы целые Javascript фреймворки, позволяющие ускорить и упростить процесс их разработки.
Одним из самых популярных фреймворков является React JS от компании Facebook. Если вы хотите попасть в данную сферу, вне зависимости от ваших целей: будь то разработка своего собственного стартапа, или работа в большой компании – у вас есть уникальный шанс получить отличную выборку по данной профессии, в курсе по React JS, который позволит вам понять и научиться делать профессиональные, мощные, современные проекты: https://Hottab.programsite.ru/reactjs
За этим подходом – будущее. И все это стало возможным благодаря javascript. Из-за этого сейчас у работодателей обнаружился большой спрос на такую профессию, как FrontEnd разработчик, и в будущем этот спрос будет только расти и расти, так как эта профессия появилась относительно недавно.
Конкуренция небольшая, а зарплаты очень высокие. Настолько, что данный курс вы полностью окупите за половину рабочего дня.
В рамках данного курса Вами будет изучено как в 2016 году создаются мощные веб приложения, какие инструменты Вам понадобятся и какие технологии лучше использовать: https://Hottab.programsite.ru/reactjs
Помимо основного курса, в него также будут входить 3 дополнительных бонусных урока.
И последний, очень важный бонус – целый курс «JavaScript, jQuery и Ajax с Нуля до Гуру»! Он позволит вам полностью погрузиться в мир JavaScript, а от этого сразу перейти к изучению современных, более сложных технологий: https://Hottab.programsite.ru/reactjs
Последнее время все большим и большим спросом на рынке пользуется язык программирования Javascript.
Именно благодаря ему появилась возможность создавать большие веб приложения, или так называемые одностраничники – single page application - сайты, где есть всего одна страница, а все остальное динамически делается Javascript’ом. Т.е движок сайта находится на клиентской стороне. Например Google Docs, Google Spreadsheet, Microsoft Outlook и многое другое.
Все перечисленные приложения – аналоги полноценных компьютерных программ, которые ничуть не уступают им, а даже наоборот, превосходят своих прародителей как минимум из-за того, что браузер доступен с любого устройства и не зависит от системы, в которой он запускается.
Созданы целые Javascript фреймворки, позволяющие ускорить и упростить процесс их разработки.
Одним из самых популярных фреймворков является React JS от компании Facebook. Если вы хотите попасть в данную сферу, вне зависимости от ваших целей: будь то разработка своего собственного стартапа, или работа в большой компании – у вас есть уникальный шанс получить отличную выборку по данной профессии, в курсе по React JS, который позволит вам понять и научиться делать профессиональные, мощные, современные проекты: https://Hottab.programsite.ru/reactjs
За этим подходом – будущее. И все это стало возможным благодаря javascript. Из-за этого сейчас у работодателей обнаружился большой спрос на такую профессию, как FrontEnd разработчик, и в будущем этот спрос будет только расти и расти, так как эта профессия появилась относительно недавно.
Конкуренция небольшая, а зарплаты очень высокие. Настолько, что данный курс вы полностью окупите за половину рабочего дня.
В рамках данного курса Вами будет изучено как в 2016 году создаются мощные веб приложения, какие инструменты Вам понадобятся и какие технологии лучше использовать: https://Hottab.programsite.ru/reactjs
Помимо основного курса, в него также будут входить 3 дополнительных бонусных урока.
И последний, очень важный бонус – целый курс «JavaScript, jQuery и Ajax с Нуля до Гуру»! Он позволит вам полностью погрузиться в мир JavaScript, а от этого сразу перейти к изучению современных, более сложных технологий: https://Hottab.programsite.ru/reactjs
This media is not supported in your browser
VIEW IN TELEGRAM
📘 Полное руководство по PHP – Глава 33: Работа с базами данных (PDO и ORM) 🐘
В этой главе мы углубимся в работу с базами данных в PHP. Вы узнаете, как использовать PDO (PHP Data Objects) для безопасного взаимодействия с базами данных, а также познакомитесь с основами ORM (Object-Relational Mapping).
---
### 1. PDO: Подключение к базе данных
PDO — это универсальный интерфейс для работы с различными СУБД (MySQL, PostgreSQL, SQLite и др.).
#### Подключение к MySQL
---
### 2. Выполнение запросов
#### SELECT
#### INSERT
#### UPDATE
#### DELETE
---
### 3. Транзакции
Транзакции позволяют выполнять несколько запросов как единое целое. Если один запрос завершится ошибкой, все изменения откатываются.
Пример:
---
### 4. ORM: Введение
ORM (Object-Relational Mapping) — это технология, которая позволяет работать с базой данных как с объектами в коде. Популярные ORM для PHP: Eloquent (Laravel), Doctrine.
#### Пример с Eloquent
1. Установите Eloquent через Composer:
2. Настройка:
3. Создание модели:
---
### 5. Миграции
Миграции позволяют управлять структурой базы данных через код.
#### Пример с Eloquent
1. Создайте миграцию:
2. Примените миграцию:
---
В этой главе мы углубимся в работу с базами данных в PHP. Вы узнаете, как использовать PDO (PHP Data Objects) для безопасного взаимодействия с базами данных, а также познакомитесь с основами ORM (Object-Relational Mapping).
---
### 1. PDO: Подключение к базе данных
PDO — это универсальный интерфейс для работы с различными СУБД (MySQL, PostgreSQL, SQLite и др.).
#### Подключение к MySQL
<?php
$host = 'localhost';
$dbname = 'my_database';
$username = 'root';
$password = '';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Подключение успешно!";
} catch (PDOException $e) {
echo "Ошибка подключения: " . $e->getMessage();
}
?>
---
### 2. Выполнение запросов
#### SELECT
<?php
$stmt = $pdo->query("SELECT * FROM users");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "Имя: " . $row['name'] . ", Возраст: " . $row['age'] . "<br>";
}
?>
#### INSERT
<?php
$name = "Иван";
$age = 25;
$stmt = $pdo->prepare("INSERT INTO users (name, age) VALUES (:name, :age)");
$stmt->execute(['name' => $name, 'age' => $age]);
echo "Запись добавлена!";
?>
#### UPDATE
<?php
$id = 1;
$newAge = 30;
$stmt = $pdo->prepare("UPDATE users SET age = :age WHERE id = :id");
$stmt->execute(['age' => $newAge, 'id' => $id]);
echo "Запись обновлена!";
?>
#### DELETE
<?php
$id = 1;
$stmt = $pdo->prepare("DELETE FROM users WHERE id = :id");
$stmt->execute(['id' => $id]);
echo "Запись удалена!";
?>
---
### 3. Транзакции
Транзакции позволяют выполнять несколько запросов как единое целое. Если один запрос завершится ошибкой, все изменения откатываются.
Пример:
<?php
try {
$pdo->beginTransaction();
$stmt1 = $pdo->prepare("INSERT INTO users (name, age) VALUES (:name, :age)");
$stmt1->execute(['name' => 'Иван', 'age' => 25]);
$stmt2 = $pdo->prepare("INSERT INTO users (name, age) VALUES (:name, :age)");
$stmt2->execute(['name' => 'Мария', 'age' => 30]);
$pdo->commit();
echo "Транзакция успешно завершена!";
} catch (Exception $e) {
$pdo->rollBack();
echo "Ошибка: " . $e->getMessage();
}
?>
---
### 4. ORM: Введение
ORM (Object-Relational Mapping) — это технология, которая позволяет работать с базой данных как с объектами в коде. Популярные ORM для PHP: Eloquent (Laravel), Doctrine.
#### Пример с Eloquent
1. Установите Eloquent через Composer:
composer require illuminate/database
2. Настройка:
<?php
require 'vendor/autoload.php';
use Illuminate\Database\Capsule\Manager as Capsule;
$capsule = new Capsule;
$capsule->addConnection([
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'my_database',
'username' => 'root',
'password' => '',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
]);
$capsule->setAsGlobal();
$capsule->bootEloquent();
?>
3. Создание модели:
<?php
class User extends Illuminate\Database\Eloquent\Model {
protected $table = 'users';
}
$users = User::all();
foreach ($users as $user) {
echo "Имя: " . $user->name . ", Возраст: " . $user->age . "<br>";
}
?>
---
### 5. Миграции
Миграции позволяют управлять структурой базы данных через код.
#### Пример с Eloquent
1. Создайте миграцию:
<?php
use Illuminate\Database\Capsule\Manager as Capsule;
Capsule::schema()->create('users', function ($table) {
$table->increments('id');
$table->string('name');
$table->integer('age');
$table->timestamps();
});
?>
2. Примените миграцию:
<?php
Capsule::schema()->create('users', function ($table) {
$table->increments('id');
$table->string('name');
$table->integer('age');
$table->timestamps();
});
?>
---
🎯 Что дальше?
В следующей главе мы изучим работу с API, включая создание и использование RESTful API. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #БазыДанных #PDO #ORM #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
В следующей главе мы изучим работу с API, включая создание и использование RESTful API. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #БазыДанных #PDO #ORM #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
Создание и продвижение лендинга для начинающих
В последние годы всё больше и больше товаров и услуг предлагается не на обычных сайтах-визитках, а на лендингах. Причина этому проста: лендинги дают в разы большую конверсию. Безусловно, у них есть и другие преимущества: проще (дешевле) создать, проще тестировать, проще изменять, проще настраивать рекламную кампанию - в общем, преимущества очевидны, отсюда и спрос на них.
Однако, надо понимать, что создать хороший лендинг достаточно трудно, сразу возникает масса вопросов: как написать текст, как сделать дизайн, как сверстать, как запрограммировать, как выложить в Интернет. А после ещё возникает вопрос, а как создать поток трафика на него, чтобы уже начать получать первых клиентов.
Так вот на все эти вопросы отвечает Михаил Русаков в своём бесплатном курсе по созданию и продвижению лендинга: https://Hottab.programsite.ru/freelanding
Это абсолютно бесплатный набор уроков, где Вы получите ответы на все вопросы, указанные выше. Причём, Михаил Русаков - это практик, который создал уже больше сотни лендингов для себя и на заказ, начиная с 2010-го года.
Более того, эта информация необходима и тем, кто планирует заказывать лендинги, так как в обязательном порядке нужно контролировать качество того, что делают. Поэтому всем, кто планирует заниматься лендингами, я настоятельно рекомендую пройти бесплатный курс от Михаила Русакова: https://Hottab.programsite.ru/freelanding.
В последние годы всё больше и больше товаров и услуг предлагается не на обычных сайтах-визитках, а на лендингах. Причина этому проста: лендинги дают в разы большую конверсию. Безусловно, у них есть и другие преимущества: проще (дешевле) создать, проще тестировать, проще изменять, проще настраивать рекламную кампанию - в общем, преимущества очевидны, отсюда и спрос на них.
Однако, надо понимать, что создать хороший лендинг достаточно трудно, сразу возникает масса вопросов: как написать текст, как сделать дизайн, как сверстать, как запрограммировать, как выложить в Интернет. А после ещё возникает вопрос, а как создать поток трафика на него, чтобы уже начать получать первых клиентов.
Так вот на все эти вопросы отвечает Михаил Русаков в своём бесплатном курсе по созданию и продвижению лендинга: https://Hottab.programsite.ru/freelanding
Это абсолютно бесплатный набор уроков, где Вы получите ответы на все вопросы, указанные выше. Причём, Михаил Русаков - это практик, который создал уже больше сотни лендингов для себя и на заказ, начиная с 2010-го года.
Более того, эта информация необходима и тем, кто планирует заказывать лендинги, так как в обязательном порядке нужно контролировать качество того, что делают. Поэтому всем, кто планирует заниматься лендингами, я настоятельно рекомендую пройти бесплатный курс от Михаила Русакова: https://Hottab.programsite.ru/freelanding.
This media is not supported in your browser
VIEW IN TELEGRAM
📘 Полное руководство по PHP – Глава 34: Создание и использование RESTful API 🐘
В этой главе мы рассмотрим, как создавать и использовать RESTful API на PHP. API (Application Programming Interface) позволяет приложениям взаимодействовать друг с другом. Мы изучим основы REST, создадим простое API и научимся его использовать.
---
### 1. Что такое RESTful API?
REST (Representational State Transfer) — это архитектурный стиль для создания веб-сервисов. RESTful API использует HTTP-методы (GET, POST, PUT, DELETE) для выполнения операций с ресурсами.
---
### 2. Создание простого RESTful API
#### Шаг 1: Настройка маршрутов
Создайте файл
#### Шаг 2: Функции для обработки запросов
---
### 3. Использование API
#### GET-запрос (получение списка пользователей)
Ответ:
#### GET-запрос (получение одного пользователя)
Ответ:
#### POST-запрос (создание пользователя)
Ответ:
---
### 4. Обработка ошибок
- 404 Not Found: Ресурс не найден.
- 400 Bad Request: Неверные данные.
- 405 Method Not Allowed: Метод не поддерживается.
Пример:
---
### 5. Работа с JSON
PHP предоставляет функции для работы с JSON:
- json_encode(): Преобразует массив в JSON.
- json_decode(): Преобразует JSON в массив.
Пример:
---
### 6. Авторизация и токены
Для защиты API часто используются токены (например, JWT).
#### Пример с JWT
1. Установите библиотеку для работы с JWT:
2. Создайте токен:
3. Проверка токена:
---
В этой главе мы рассмотрим, как создавать и использовать RESTful API на PHP. API (Application Programming Interface) позволяет приложениям взаимодействовать друг с другом. Мы изучим основы REST, создадим простое API и научимся его использовать.
---
### 1. Что такое RESTful API?
REST (Representational State Transfer) — это архитектурный стиль для создания веб-сервисов. RESTful API использует HTTP-методы (GET, POST, PUT, DELETE) для выполнения операций с ресурсами.
---
### 2. Создание простого RESTful API
#### Шаг 1: Настройка маршрутов
Создайте файл
index.php и настройте маршруты:<?php
header("Content-Type: application/json");
$request_method = $_SERVER['REQUEST_METHOD'];
$request_uri = $_SERVER['REQUEST_URI'];
switch ($request_method) {
case 'GET':
if ($request_uri == '/users') {
getUsers();
} elseif (preg_match('/\/users\/(\d+)/', $request_uri, $matches)) {
getUser($matches[1]);
}
break;
case 'POST':
if ($request_uri == '/users') {
createUser();
}
break;
default:
http_response_code(405);
echo json_encode(["message" => "Метод не поддерживается"]);
}
?>
#### Шаг 2: Функции для обработки запросов
<?php
function getUsers() {
$users = [
["id" => 1, "name" => "Иван"],
["id" => 2, "name" => "Мария"]
];
echo json_encode($users);
}
function getUser($id) {
$users = [
1 => ["id" => 1, "name" => "Иван"],
2 => ["id" => 2, "name" => "Мария"]
];
if (isset($users[$id])) {
echo json_encode($users[$id]);
} else {
http_response_code(404);
echo json_encode(["message" => "Пользователь не найден"]);
}
}
function createUser() {
$data = json_decode(file_get_contents("php://input"), true);
if (isset($data['name'])) {
echo json_encode(["message" => "Пользователь создан", "name" => $data['name']]);
} else {
http_response_code(400);
echo json_encode(["message" => "Неверные данные"]);
}
}
?>
---
### 3. Использование API
#### GET-запрос (получение списка пользователей)
curl -X GET http://localhost/users
Ответ:
[
{"id": 1, "name": "Иван"},
{"id": 2, "name": "Мария"}
]
#### GET-запрос (получение одного пользователя)
curl -X GET http://localhost/users/1
Ответ:
{"id": 1, "name": "Иван"}#### POST-запрос (создание пользователя)
curl -X POST -H "Content-Type: application/json" -d '{"name": "Алексей"}' http://localhost/usersОтвет:
{"message": "Пользователь создан", "name": "Алексей"}---
### 4. Обработка ошибок
- 404 Not Found: Ресурс не найден.
- 400 Bad Request: Неверные данные.
- 405 Method Not Allowed: Метод не поддерживается.
Пример:
<?php
http_response_code(404);
echo json_encode(["message" => "Ресурс не найден"]);
?>
---
### 5. Работа с JSON
PHP предоставляет функции для работы с JSON:
- json_encode(): Преобразует массив в JSON.
- json_decode(): Преобразует JSON в массив.
Пример:
<?php
$data = ["name" => "Иван", "age" => 25];
$json = json_encode($data);
echo $json; // {"name":"Иван","age":25}
$array = json_decode($json, true);
print_r($array); // Array ( [name] => Иван [age] => 25 )
?>
---
### 6. Авторизация и токены
Для защиты API часто используются токены (например, JWT).
#### Пример с JWT
1. Установите библиотеку для работы с JWT:
composer require firebase/php-jwt
2. Создайте токен:
<?php
use Firebase\JWT\JWT;
$key = "your_secret_key";
$payload = [
"user_id" => 1,
"username" => "Иван"
];
$jwt = JWT::encode($payload, $key);
echo $jwt;
?>
3. Проверка токена:
<?php
try {
$decoded = JWT::decode($jwt, $key, array('HS256'));
print_r($decoded);
} catch (Exception $e) {
http_response_code(401);
echo json_encode(["message" => "Ошибка авторизации"]);
}
?>
---
🎯 Что дальше?
В следующей главе мы изучим работу с файлами и загрузкой данных на сервер. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #API #RESTful #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
В следующей главе мы изучим работу с файлами и загрузкой данных на сервер. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #API #RESTful #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
Практический курс по React JS для начинающих
Практический курс по React JS - это курс, который покажет вам все шаги создания простого приложения на JavaScript и React. Курс подойдет как и для полных новичков, так и для более опытных программистов.
В курсе нет теории вообще, все разбирается на практике, по мере необходимости использования того или иного функционала. Также все реализовано на новом синтаксисе JavaScript - ECMAScript 6, про который тоже будет идти отдельный разговор: https://Hottab.programsite.ru/freereactjs
В процессе курса будет создано динамическое приложение-игра “Крестики-нолики”, с возможностью просматривать историю ходов и перехода к каждому из них, и с автоматическим обновлением статусы игры: чей ход, кто победил и т.д.
Вы узнаете как максимально быстро создать рабочее окружение для разработки на React: сервер автоматической "life" перезагрузки браузера, компиляцию стилей, бандлинг и много другое: https://Hottab.programsite.ru/freereactjs
Практический курс по React JS - это курс, который покажет вам все шаги создания простого приложения на JavaScript и React. Курс подойдет как и для полных новичков, так и для более опытных программистов.
В курсе нет теории вообще, все разбирается на практике, по мере необходимости использования того или иного функционала. Также все реализовано на новом синтаксисе JavaScript - ECMAScript 6, про который тоже будет идти отдельный разговор: https://Hottab.programsite.ru/freereactjs
В процессе курса будет создано динамическое приложение-игра “Крестики-нолики”, с возможностью просматривать историю ходов и перехода к каждому из них, и с автоматическим обновлением статусы игры: чей ход, кто победил и т.д.
Вы узнаете как максимально быстро создать рабочее окружение для разработки на React: сервер автоматической "life" перезагрузки браузера, компиляцию стилей, бандлинг и много другое: https://Hottab.programsite.ru/freereactjs
This media is not supported in your browser
VIEW IN TELEGRAM
📘 Полное руководство по PHP – Глава 35: Работа с файлами и загрузка данных на сервер 🐘
В этой главе мы рассмотрим, как работать с файлами в PHP, включая загрузку файлов на сервер, чтение и запись данных, а также управление файловой системой. Эти навыки необходимы для создания функциональных веб-приложений.
---
### 1. Загрузка файлов на сервер
PHP позволяет загружать файлы на сервер через HTML-форму.
#### HTML-форма
#### Обработка загрузки (
---
### 2. Чтение и запись файлов
PHP предоставляет функции для работы с файлами.
#### Чтение файла
#### Запись в файл
---
### 3. Работа с директориями
PHP позволяет создавать, удалять и переименовывать директории.
#### Создание директории
#### Удаление директории
#### Переименование директории
---
### 4. Работа с CSV
CSV (Comma-Separated Values) — это формат для хранения табличных данных.
#### Чтение CSV
#### Запись в CSV
---
### 5. Работа с JSON
JSON (JavaScript Object Notation) — это популярный формат для обмена данными.
#### Чтение JSON
#### Запись JSON
---
### 6. Управление файловой системой
PHP предоставляет функции для работы с файловой системой.
#### Проверка существования файла
#### Получение размера файла
#### Удаление файла
---
🎯 Что дальше?
В следующей главе мы изучим работу с сессиями и куками, а также управление состоянием пользователя. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #Файлы #Загрузка #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
В этой главе мы рассмотрим, как работать с файлами в PHP, включая загрузку файлов на сервер, чтение и запись данных, а также управление файловой системой. Эти навыки необходимы для создания функциональных веб-приложений.
---
### 1. Загрузка файлов на сервер
PHP позволяет загружать файлы на сервер через HTML-форму.
#### HTML-форма
<form action="upload.php" method="post" enctype="multipart/form-data">
Выберите файл: <input type="file" name="file">
<input type="submit" value="Загрузить">
</form>
#### Обработка загрузки (
upload.php)<?php
if ($_FILES['file']['error'] === UPLOAD_ERR_OK) {
$upload_dir = 'uploads/';
$upload_file = $upload_dir . basename($_FILES['file']['name']);
if (move_uploaded_file($_FILES['file']['tmp_name'], $upload_file)) {
echo "Файл успешно загружен!";
} else {
echo "Ошибка при загрузке файла!";
}
} else {
echo "Ошибка: " . $_FILES['file']['error'];
}
?>
---
### 2. Чтение и запись файлов
PHP предоставляет функции для работы с файлами.
#### Чтение файла
<?php
$file = fopen("example.txt", "r") or die("Не удалось открыть файл!");
echo fread($file, filesize("example.txt"));
fclose($file);
?>
#### Запись в файл
<?php
$file = fopen("example.txt", "w") or die("Не удалось открыть файл!");
$text = "Привет, мир!";
fwrite($file, $text);
fclose($file);
?>
---
### 3. Работа с директориями
PHP позволяет создавать, удалять и переименовывать директории.
#### Создание директории
<?php
if (!file_exists("new_dir")) {
mkdir("new_dir");
echo "Директория создана!";
} else {
echo "Директория уже существует!";
}
?>
#### Удаление директории
<?php
if (file_exists("new_dir")) {
rmdir("new_dir");
echo "Директория удалена!";
} else {
echo "Директория не существует!";
}
?>
#### Переименование директории
<?php
if (file_exists("old_dir")) {
rename("old_dir", "new_dir");
echo "Директория переименована!";
} else {
echo "Директория не существует!";
}
?>
---
### 4. Работа с CSV
CSV (Comma-Separated Values) — это формат для хранения табличных данных.
#### Чтение CSV
<?php
$file = fopen("data.csv", "r");
while (($data = fgetcsv($file, 1000, ",")) !== FALSE) {
print_r($data);
}
fclose($file);
?>
#### Запись в CSV
<?php
$file = fopen("data.csv", "w");
$data = [
["Иван", 25],
["Мария", 30]
];
foreach ($data as $row) {
fputcsv($file, $row);
}
fclose($file);
?>
---
### 5. Работа с JSON
JSON (JavaScript Object Notation) — это популярный формат для обмена данными.
#### Чтение JSON
<?php
$json = '{"name": "Иван", "age": 25}';
$array = json_decode($json, true);
print_r($array);
?>
#### Запись JSON
<?php
$array = ["name" => "Иван", "age" => 25];
$json = json_encode($array);
echo $json;
?>
---
### 6. Управление файловой системой
PHP предоставляет функции для работы с файловой системой.
#### Проверка существования файла
<?php
if (file_exists("example.txt")) {
echo "Файл существует!";
} else {
echo "Файл не существует!";
}
?>
#### Получение размера файла
<?php
echo "Размер файла: " . filesize("example.txt") . " байт";
?>
#### Удаление файла
<?php
if (unlink("example.txt")) {
echo "Файл удалён!";
} else {
echo "Ошибка при удалении файла!";
}
?>
---
🎯 Что дальше?
В следующей главе мы изучим работу с сессиями и куками, а также управление состоянием пользователя. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #Файлы #Загрузка #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
Joomla 3 с Нуля до Гуру
Сколько стоит сайт на Joomla?
Если вы будете создавать сайты на базе CMS Joomla, то вам, наверное, будет интересно узнать сколько берут за сайт другие разработчики.
Разработчиков можно поделить как минимум на 4 группы:
- Новички
- Новички со стажем
- Специалисты
- Профи
Новички создают несложные сайты на бесплатных CMS и на бесплатных шаблонах. В основном без какого-либо планирования, без изучения аудитории и тому подобных «не нужных» работ. Как правило такие сайты редко поднимаются в ТОП и не приносят никакой пользы заказчику. Стоимость таких сайтов в районе 4-6 тысяч рублей (стоимость в регионах).
Новички со стажем, тоже создают несложные сайты на готовых CMS, иногда с правкой готовых шаблонов. Планирование, проектирование сайта и изучение аудитории тоже не входит в перечень работ, и в итоге получается обычный сайт, как и миллионы других. Тексты пишут сами или заказывают у других фрилансеров. Но толку от этого нет, если не знаешь для кого пишешь текст, то такой текст никогда не будет эффективным. Среди этих разработчиков встречаются даже веб-студии. Но сколько человек в них работает – никто не знает) Стоимость типового сайта в районе 10-15 т.р.
Специалисты.
Это уже совсем другой ценовой диапазон и совсем другие возможности. Проектирование сайта, изучение аудитории – здесь как правило заложено в тех.процессе или же выполняется по желанию заказчика. Маркетинг здесь уважают. Дизайн и шаблоны собственные и уникальные. Расширения или переделываются под задачи или пишутся с нуля. Стоимость таких проектов от 30 - 50 тыс.рублей и выше. Обычно эти разработчики дополняют свой спектр смежными услугами, за счёт которых стоимость сайта заметно повышается.
Профи.
Создают сайты на CMS системах собственной разработки или пишут всё с нуля. Редко, но используют готовые CMS. Сценарии и аватары пользователей, проектирование сайта – это для них обязательные работы. Стоимость обычно не указана на их сайтах, так как она заоблачная. Сайты меньше 50-70 т.р. им просто не интересны. Как-то раз встречал ценник в 6 млн. рублей))
Поэтому чтобы создавать дорогие сайты, нужно:
- уметь работать с готовыми CMS (или хотя бы одной, но мощной)
- уметь создавать собственные шаблоны и знать HTML/CSS
- учиться проектировать сайты
- учиться оптимизировать сайты под поисковые системы
- учиться делегировать задачи
Видеокурс “Joomla 3 с Нуля до Гуру” поможет вам в этом: https://Hottab.programsite.ru/joomla
Курс спроектирован таким образом, что подходит как для опытных вебмастеров, так и для новичков.
К видеокурсу прилагаются бонусы, это:
- создание интернет-магазина на базе JoomShopping,
- лёгкий и быстрый адаптивный шаблон, построенный на HTML5 и CSS3
- комплект модулей для Joomla 3
- дисконт на кроссплатформенный скрипт автоматических бекапов для сайта
Кроме этого много дополнительных материалов, которые помогают при создании сайта. Поэтому обязательно переходите по ссылке и повышайте свой уровень веб-мастерства: https://Hottab.programsite.ru/joomla
Сколько стоит сайт на Joomla?
Если вы будете создавать сайты на базе CMS Joomla, то вам, наверное, будет интересно узнать сколько берут за сайт другие разработчики.
Разработчиков можно поделить как минимум на 4 группы:
- Новички
- Новички со стажем
- Специалисты
- Профи
Новички создают несложные сайты на бесплатных CMS и на бесплатных шаблонах. В основном без какого-либо планирования, без изучения аудитории и тому подобных «не нужных» работ. Как правило такие сайты редко поднимаются в ТОП и не приносят никакой пользы заказчику. Стоимость таких сайтов в районе 4-6 тысяч рублей (стоимость в регионах).
Новички со стажем, тоже создают несложные сайты на готовых CMS, иногда с правкой готовых шаблонов. Планирование, проектирование сайта и изучение аудитории тоже не входит в перечень работ, и в итоге получается обычный сайт, как и миллионы других. Тексты пишут сами или заказывают у других фрилансеров. Но толку от этого нет, если не знаешь для кого пишешь текст, то такой текст никогда не будет эффективным. Среди этих разработчиков встречаются даже веб-студии. Но сколько человек в них работает – никто не знает) Стоимость типового сайта в районе 10-15 т.р.
Специалисты.
Это уже совсем другой ценовой диапазон и совсем другие возможности. Проектирование сайта, изучение аудитории – здесь как правило заложено в тех.процессе или же выполняется по желанию заказчика. Маркетинг здесь уважают. Дизайн и шаблоны собственные и уникальные. Расширения или переделываются под задачи или пишутся с нуля. Стоимость таких проектов от 30 - 50 тыс.рублей и выше. Обычно эти разработчики дополняют свой спектр смежными услугами, за счёт которых стоимость сайта заметно повышается.
Профи.
Создают сайты на CMS системах собственной разработки или пишут всё с нуля. Редко, но используют готовые CMS. Сценарии и аватары пользователей, проектирование сайта – это для них обязательные работы. Стоимость обычно не указана на их сайтах, так как она заоблачная. Сайты меньше 50-70 т.р. им просто не интересны. Как-то раз встречал ценник в 6 млн. рублей))
Поэтому чтобы создавать дорогие сайты, нужно:
- уметь работать с готовыми CMS (или хотя бы одной, но мощной)
- уметь создавать собственные шаблоны и знать HTML/CSS
- учиться проектировать сайты
- учиться оптимизировать сайты под поисковые системы
- учиться делегировать задачи
Видеокурс “Joomla 3 с Нуля до Гуру” поможет вам в этом: https://Hottab.programsite.ru/joomla
Курс спроектирован таким образом, что подходит как для опытных вебмастеров, так и для новичков.
К видеокурсу прилагаются бонусы, это:
- создание интернет-магазина на базе JoomShopping,
- лёгкий и быстрый адаптивный шаблон, построенный на HTML5 и CSS3
- комплект модулей для Joomla 3
- дисконт на кроссплатформенный скрипт автоматических бекапов для сайта
Кроме этого много дополнительных материалов, которые помогают при создании сайта. Поэтому обязательно переходите по ссылке и повышайте свой уровень веб-мастерства: https://Hottab.programsite.ru/joomla
This media is not supported in your browser
VIEW IN TELEGRAM
📘 Полное руководство по PHP – Глава 36: Работа с сессиями и куками 🐘
В этой главе мы рассмотрим, как управлять состоянием пользователя с помощью сессий и кук. Эти технологии позволяют сохранять данные между запросами, что особенно полезно для авторизации, корзин покупок и персонализации.
---
### 1. Сессии
Сессии позволяют хранить данные на сервере для каждого пользователя. Каждая сессия имеет уникальный идентификатор, который передаётся через куки.
#### Начало сессии
#### Сохранение данных в сессии
#### Получение данных из сессии
#### Удаление данных из сессии
#### Завершение сессии
---
### 2. Куки
Куки позволяют хранить данные на стороне клиента. Они могут быть использованы для персонализации или отслеживания пользователей.
#### Установка куки
#### Получение данных из куки
#### Удаление куки
---
### 3. Пример: Авторизация с использованием сессий
#### Форма входа
#### Обработка входа (
#### Проверка авторизации
#### Выход из системы
---
### 4. Пример: Запоминание пользователя с использованием кук
#### Установка куки при входе
#### Проверка куки
---
### 5. Безопасность
- Сессии: Используйте
- Куки: Устанавливайте флаг
---
🎯 Что дальше?
В следующей главе мы изучим работу с базами данных, включая PDO и ORM. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #Сессии #Куки #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
В этой главе мы рассмотрим, как управлять состоянием пользователя с помощью сессий и кук. Эти технологии позволяют сохранять данные между запросами, что особенно полезно для авторизации, корзин покупок и персонализации.
---
### 1. Сессии
Сессии позволяют хранить данные на сервере для каждого пользователя. Каждая сессия имеет уникальный идентификатор, который передаётся через куки.
#### Начало сессии
<?php
session_start();
?>
#### Сохранение данных в сессии
<?php
session_start();
$_SESSION['username'] = "Иван";
echo "Данные сохранены в сессии!";
?>
#### Получение данных из сессии
<?php
session_start();
if (isset($_SESSION['username'])) {
echo "Привет, " . $_SESSION['username'] . "!";
} else {
echo "Сессия не найдена!";
}
?>
#### Удаление данных из сессии
<?php
session_start();
unset($_SESSION['username']);
echo "Данные удалены из сессии!";
?>
#### Завершение сессии
<?php
session_start();
session_destroy();
echo "Сессия завершена!";
?>
---
### 2. Куки
Куки позволяют хранить данные на стороне клиента. Они могут быть использованы для персонализации или отслеживания пользователей.
#### Установка куки
<?php
setcookie("username", "Иван", time() + 3600, "/");
echo "Кука установлена!";
?>
#### Получение данных из куки
<?php
if (isset($_COOKIE['username'])) {
echo "Привет, " . $_COOKIE['username'] . "!";
} else {
echo "Кука не найдена!";
}
?>
#### Удаление куки
<?php
setcookie("username", "", time() - 3600, "/");
echo "Кука удалена!";
?>
---
### 3. Пример: Авторизация с использованием сессий
#### Форма входа
<form action="login.php" method="post">
Имя пользователя: <input type="text" name="username">
Пароль: <input type="password" name="password">
<input type="submit" value="Войти">
</form>
#### Обработка входа (
login.php)<?php
session_start();
$username = $_POST['username'];
$password = $_POST['password'];
// Проверка логина и пароля (пример)
if ($username === "Иван" && $password === "12345") {
$_SESSION['username'] = $username;
echo "Вход выполнен!";
} else {
echo "Неверные данные!";
}
?>
#### Проверка авторизации
<?php
session_start();
if (isset($_SESSION['username'])) {
echo "Привет, " . $_SESSION['username'] . "!";
} else {
echo "Пожалуйста, войдите в систему.";
}
?>
#### Выход из системы
<?php
session_start();
session_destroy();
echo "Вы вышли из системы!";
?>
---
### 4. Пример: Запоминание пользователя с использованием кук
#### Установка куки при входе
<?php
$username = $_POST['username'];
$password = $_POST['password'];
if ($username === "Иван" && $password === "12345") {
setcookie("username", $username, time() + 3600, "/");
echo "Вход выполнен!";
} else {
echo "Неверные данные!";
}
?>
#### Проверка куки
<?php
if (isset($_COOKIE['username'])) {
echo "Привет, " . $_COOKIE['username'] . "!";
} else {
echo "Пожалуйста, войдите в систему.";
}
?>
---
### 5. Безопасность
- Сессии: Используйте
session_regenerate_id() для предотвращения фиксации сессии.- Куки: Устанавливайте флаг
HttpOnly и Secure для защиты от XSS и перехвата. setcookie("username", "Иван", time() + 3600, "/", "", true, true);
---
🎯 Что дальше?
В следующей главе мы изучим работу с базами данных, включая PDO и ORM. Продолжайте изучать PHP, и вы сможете создавать мощные веб-приложения! 🚀
#PHP #Сессии #Куки #Программирование #Телеграм
Подписывайтесь на наш канал: [https://t.me/Safety_Y](https://t.me/Safety_Y)
Как открыть свою Web-студию
Все, кто увлекается сайтостроением, в конечном итоге, приходят к мысли, чтобы ещё зарабатывать на этом. Наиболее оптимальный вариант - это создание сайтов на заказ, тем более, что спрос огромен, а вот предложение, несмотря на его количество, оставляет желать лучшего. Практически любой, кто когда-нибудь заказывал сайт, сталкивался с низким качеством, со срывом сроков, высокими ценами и просто обманом. Поэтому реальной конкуренции в сфере создания сайтов в Рунете нет вообще.
Однако, новичок не знает, как открыть свою Web-студию. И вот тут на помощь приходит очень полезный бесплатный курс от Михаила Русакова: https://Hottab.programsite.ru/freeweb55
Данный курс Вам расскажет о том, каких результатов достиг сам Михаил, тем более, что он занимается созданием сайтов на заказ с 2011-го года. Так же Вы узнаете, как найти специалистов, которые Вам создадут качественный сайт, как правильно продвигать сайт Вашей Web-студии, как общаться с заказчиками, чтобы добиться максимальной конверсии из заявок в клиенты, и многое-многое другое.
Получить курс совершенно бесплатно можно здесь: https://Hottab.programsite.ru/freeweb55
Все, кто увлекается сайтостроением, в конечном итоге, приходят к мысли, чтобы ещё зарабатывать на этом. Наиболее оптимальный вариант - это создание сайтов на заказ, тем более, что спрос огромен, а вот предложение, несмотря на его количество, оставляет желать лучшего. Практически любой, кто когда-нибудь заказывал сайт, сталкивался с низким качеством, со срывом сроков, высокими ценами и просто обманом. Поэтому реальной конкуренции в сфере создания сайтов в Рунете нет вообще.
Однако, новичок не знает, как открыть свою Web-студию. И вот тут на помощь приходит очень полезный бесплатный курс от Михаила Русакова: https://Hottab.programsite.ru/freeweb55
Данный курс Вам расскажет о том, каких результатов достиг сам Михаил, тем более, что он занимается созданием сайтов на заказ с 2011-го года. Так же Вы узнаете, как найти специалистов, которые Вам создадут качественный сайт, как правильно продвигать сайт Вашей Web-студии, как общаться с заказчиками, чтобы добиться максимальной конверсии из заявок в клиенты, и многое-многое другое.
Получить курс совершенно бесплатно можно здесь: https://Hottab.programsite.ru/freeweb55
This media is not supported in your browser
VIEW IN TELEGRAM
Safety🪬, [02.04.2025 16:00]
🚀 Полное руководство по PHP – Глава 38
📌 Тема: Безопасность в PHP – Защита от SQL-инъекций и XSS
Привет, кодеры! 👨💻 В этой главе разберём ключевые аспекты безопасности PHP-приложений.
### 🔒 1. Защита от SQL-инъекций
Используйте подготовленные выражения (Prepared Statements) вместо прямой вставки переменных в SQL-запросы.
Пример с PDO:
Пример с MySQLi:
### 🛡 2. Защита от XSS (Cross-Site Scripting)
Всегда экранируйте вывод с помощью
### 🔐 3. Валидация и фильтрация данных
Используйте
### 🚫 4. Защита от CSRF (межсайтовая подделка запроса)
Используйте CSRF-токены:
📢 Подписывайтесь на канал [Safety_Y](https://t.me/Safety_Y) – больше полезного о безопасности в IT!
#PHP #Безопасность #WebDev #Программирование #SQL #XSS
🚀 Полное руководство по PHP – Глава 38
📌 Тема: Безопасность в PHP – Защита от SQL-инъекций и XSS
Привет, кодеры! 👨💻 В этой главе разберём ключевые аспекты безопасности PHP-приложений.
### 🔒 1. Защита от SQL-инъекций
Используйте подготовленные выражения (Prepared Statements) вместо прямой вставки переменных в SQL-запросы.
Пример с PDO:
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = :email");
$stmt->execute(['email' => $email]);
$user = $stmt->fetch();Пример с MySQLi:
$stmt = $mysqli->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$result = $stmt->get_result();### 🛡 2. Защита от XSS (Cross-Site Scripting)
Всегда экранируйте вывод с помощью
htmlspecialchars(): echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
### 🔐 3. Валидация и фильтрация данных
Используйте
filter_var(): $email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
if ($email === false) {
die("Некорректный email!");
}
### 🚫 4. Защита от CSRF (межсайтовая подделка запроса)
Используйте CSRF-токены:
session_start();
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
die("Ошибка CSRF-токена!");
}
// Обработка формы
}
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
📢 Подписывайтесь на канал [Safety_Y](https://t.me/Safety_Y) – больше полезного о безопасности в IT!
#PHP #Безопасность #WebDev #Программирование #SQL #XSS
HTML и CSS для начинающих
Не секрет, что в 21-м веке наибольшим спросом пользуются IT-специалисты, причём во всём мире. И Web-мастера здесь занимают далеко не последнюю роль, достаточно посмотреть, сколько сайтов и сервисов в Интернете, и насколько они облегчают нашу жизнь. И таких сервисов придумают ещё уйму, и делать их будут как раз Web-мастера.
И если Вас интересует IT-тематика и если Вы хотите стать Web-мастером и делать сайты: самостоятельно на заказ или на работе, или, быть может, у Вас есть какая-то идея сайта, - то Вам в обязательном порядке придётся осваивать HTML и CSS.
И сегодня я хочу порекомендовать один бесплатный, но при этом очень подробный курс, который просмотрел я сам: https://Hottab.programsite.ru/freemakeup2
Данный курс содержит несколько часов видеоуроков (больше 6-ти) по HTML и CSS, и он даст Вам всё необходимое, что нужно знать по этим Web-технологиям. К курсу так же идут упражнения, что очень полезно и очень удивительно для бесплатного курса.
Поэтому данный курс я рекомендую абсолютно всем, кто хочет заниматься сайтостроением: https://Hottab.programsite.ru/freemakeup2
Не секрет, что в 21-м веке наибольшим спросом пользуются IT-специалисты, причём во всём мире. И Web-мастера здесь занимают далеко не последнюю роль, достаточно посмотреть, сколько сайтов и сервисов в Интернете, и насколько они облегчают нашу жизнь. И таких сервисов придумают ещё уйму, и делать их будут как раз Web-мастера.
И если Вас интересует IT-тематика и если Вы хотите стать Web-мастером и делать сайты: самостоятельно на заказ или на работе, или, быть может, у Вас есть какая-то идея сайта, - то Вам в обязательном порядке придётся осваивать HTML и CSS.
И сегодня я хочу порекомендовать один бесплатный, но при этом очень подробный курс, который просмотрел я сам: https://Hottab.programsite.ru/freemakeup2
Данный курс содержит несколько часов видеоуроков (больше 6-ти) по HTML и CSS, и он даст Вам всё необходимое, что нужно знать по этим Web-технологиям. К курсу так же идут упражнения, что очень полезно и очень удивительно для бесплатного курса.
Поэтому данный курс я рекомендую абсолютно всем, кто хочет заниматься сайтостроением: https://Hottab.programsite.ru/freemakeup2
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Полное руководство по PHP – Глава 39
📌 Тема: Работа с файлами и загрузка файлов на сервер
Привет, разработчики! 👨💻 В этой главе разберём, как безопасно работать с файлами в PHP и реализовать загрузку файлов на сервер.
### 📂 1. Основы работы с файлами
Чтение файла:
Запись в файл:
Проверка существования файла:
### ⚠️ 2. Безопасная загрузка файлов
Пример обработки загружаемого файла:
### 🔒 3. Безопасность при работе с файлами
- Проверяйте MIME-тип файла (
- Генерируйте случайные имена для файлов, чтобы избежать перезаписи.
- Ограничивайте права доступа к папке загрузок (
- Используйте `is_uploaded_file()` для проверки легитимности файла.
📢 Подписывайтесь на канал [Safety_Y](https://t.me/Safety_Y) – больше полезного о безопасности в IT!
#PHP #Файлы #WebDev #Безопасность #Программирование #ЗагрузкаФайлов
📌 Тема: Работа с файлами и загрузка файлов на сервер
Привет, разработчики! 👨💻 В этой главе разберём, как безопасно работать с файлами в PHP и реализовать загрузку файлов на сервер.
### 📂 1. Основы работы с файлами
Чтение файла:
$content = file_get_contents('example.txt');
echo $content;Запись в файл:
file_put_contents('example.txt', 'Hello, PHP!');Проверка существования файла:
if (file_exists('example.txt')) {
echo "Файл существует!";
}### ⚠️ 2. Безопасная загрузка файлов
Пример обработки загружаемого файла:
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) {
$uploadDir = 'uploads/';
$fileName = basename($_FILES['file']['name']);
$filePath = $uploadDir . $fileName;
$fileType = strtolower(pathinfo($filePath, PATHINFO_EXTENSION));
// Проверка типа файла (например, только изображения)
$allowedTypes = ['jpg', 'png', 'jpeg', 'gif'];
if (!in_array($fileType, $allowedTypes)) {
die("Недопустимый тип файла!");
}
// Проверка размера файла (например, не более 2MB)
if ($_FILES['file']['size'] > 2 * 1024 * 1024) {
die("Файл слишком большой!");
}
// Перемещение файла в нужную директорию
if (move_uploaded_file($_FILES['file']['tmp_name'], $filePath)) {
echo "Файл успешно загружен!";
} else {
echo "Ошибка загрузки файла!";
}
}### 🔒 3. Безопасность при работе с файлами
- Проверяйте MIME-тип файла (
$_FILES['file']['type']). - Генерируйте случайные имена для файлов, чтобы избежать перезаписи.
- Ограничивайте права доступа к папке загрузок (
chmod). - Используйте `is_uploaded_file()` для проверки легитимности файла.
📢 Подписывайтесь на канал [Safety_Y](https://t.me/Safety_Y) – больше полезного о безопасности в IT!
#PHP #Файлы #WebDev #Безопасность #Программирование #ЗагрузкаФайлов
🚀 Веб-разработка с нуля: Урок 1
Привет, будущие разработчики! 👋
Сегодня мы начинаем наш увлекательный путь в мир веб-разработки. Готовы погрузиться в создание сайтов и приложений? Тогда поехали!
📌 Что такое веб-разработка?
Веб-разработка — это процесс создания веб-сайтов или веб-приложений. Она делится на две основные части:
1. Frontend — то, что видит пользователь (дизайн, кнопки, анимации).
2. Backend — то, что работает на сервере (базы данных, логика сайта).
🛠 С чего начать?
1. HTML — основа любого сайта. Это язык разметки, который создает структуру страницы.
2. CSS — добавляет стили: цвета, шрифты, отступы.
3. JavaScript — делает сайт интерактивным.
📝 Практика:
Создайте свою первую HTML-страницу!
Сохраните файл с расширением
👉 В следующем уроке:
Разберем, как добавить стили с помощью CSS и сделать ваш сайт красивым.
Подписывайтесь на канал, чтобы не пропустить новые уроки: [t.me/rm_programmer](https://t.me/rm_programmer)
Делитесь своими успехами в комментариях! 💬
#вебразработка #html #программирование #rm_programmer
Привет, будущие разработчики! 👋
Сегодня мы начинаем наш увлекательный путь в мир веб-разработки. Готовы погрузиться в создание сайтов и приложений? Тогда поехали!
📌 Что такое веб-разработка?
Веб-разработка — это процесс создания веб-сайтов или веб-приложений. Она делится на две основные части:
1. Frontend — то, что видит пользователь (дизайн, кнопки, анимации).
2. Backend — то, что работает на сервере (базы данных, логика сайта).
🛠 С чего начать?
1. HTML — основа любого сайта. Это язык разметки, который создает структуру страницы.
2. CSS — добавляет стили: цвета, шрифты, отступы.
3. JavaScript — делает сайт интерактивным.
📝 Практика:
Создайте свою первую HTML-страницу!
<!DOCTYPE html>
<html>
<head>
<title>Мой первый сайт</title>
</head>
<body>
<h1>Привет, мир!</h1>
<p>Это мой первый шаг в веб-разработке.</p>
</body>
</html>
Сохраните файл с расширением
.html и откройте его в браузере. Поздравляю, вы создали свой первый сайт! 🎉 👉 В следующем уроке:
Разберем, как добавить стили с помощью CSS и сделать ваш сайт красивым.
Подписывайтесь на канал, чтобы не пропустить новые уроки: [t.me/rm_programmer](https://t.me/rm_programmer)
Делитесь своими успехами в комментариях! 💬
#вебразработка #html #программирование #rm_programmer
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 Полное руководство по PHP – Глава 40
📌 Тема: Аутентификация и авторизация в PHP
Привет, кодерам! 👋 В этой главе разберём, как правильно реализовать вход пользователей и управление их правами.
### 🔑 1. Базовая аутентификация
Хранение паролей:
Всегда используйте
### 🛡 2. Защита сессий
### 🔐 3. Ролевая модель (авторизация)
### ⚠️ 4. Защита от bruteforce
### 🔥 Бонус: JWT-авторизация (для API)
📢 Больше о безопасности: [Safety_Y](https://t.me/Safety_Y)
#PHP #Безопасность #Аутентификация #JWT #WebDev #Программирование
P.S. В следующей главе разберём OAuth-интеграцию! 💡
📌 Тема: Аутентификация и авторизация в PHP
Привет, кодерам! 👋 В этой главе разберём, как правильно реализовать вход пользователей и управление их правами.
### 🔑 1. Базовая аутентификация
Хранение паролей:
Всегда используйте
password_hash() и password_verify()! // Регистрация
$hashedPassword = password_hash($_POST['password'], PASSWORD_DEFAULT);
// Сохраняем $hashedPassword в БД
// Вход
$user = getUserFromDB($_POST['login']);
if ($user && password_verify($_POST['password'], $user['password'])) {
$_SESSION['user_id'] = $user['id'];
header('Location: /dashboard.php');
} else {
die('Неверный логин или пароль!');
}
### 🛡 2. Защита сессий
session_start([
'cookie_secure' => true, // Только HTTPS
'cookie_httponly' => true, // Запрет JS-доступа
'use_strict_mode' => true // Защита от фиксации
]);
// Регенерация ID сессии после входа
session_regenerate_id(true);
### 🔐 3. Ролевая модель (авторизация)
// Проверка прав
function checkPermission($requiredRole) {
if ($_SESSION['user_role'] !== $requiredRole) {
header('HTTP/1.0 403 Forbidden');
die('Доступ запрещён!');
}
}
// Использование
checkPermission('admin');
### ⚠️ 4. Защита от bruteforce
// Ограничение попыток входа
if ($_SESSION['login_attempts'] > 5) {
die('Превышено число попыток. Попробуйте позже.');
}
### 🔥 Бонус: JWT-авторизация (для API)
use Firebase\JWT\JWT;
// Генерация токена
$payload = [
'user_id' => 123,
'exp' => time() + 3600 // 1 час
];
$jwt = JWT::encode($payload, 'your_secret_key', 'HS256');
// Проверка токена
try {
$decoded = JWT::decode($jwt, 'your_secret_key', ['HS256']);
} catch (Exception $e) {
http_response_code(401);
die('Недействительный токен!');
}
📢 Больше о безопасности: [Safety_Y](https://t.me/Safety_Y)
#PHP #Безопасность #Аутентификация #JWT #WebDev #Программирование
P.S. В следующей главе разберём OAuth-интеграцию! 💡
🚀 Веб-разработка с нуля: Урок 2
Привет, будущие разработчики! 👋
В прошлом уроке мы создали свою первую HTML-страницу. Сегодня мы добавим ей стилей с помощью CSS и сделаем наш сайт красивым!
📌 Что такое CSS?
CSS (Cascading Style Sheets) — это язык стилей, который отвечает за внешний вид вашего сайта: цвета, шрифты, отступы, анимации и многое другое.
🛠 Как подключить CSS к HTML?
Есть три способа:
1. Inline-стили — прямо в HTML-теге.
2. Внутри HTML-файла — с помощью тега
3. Отдельный файл — самый удобный способ.
📝 Практика:
Давайте подключим CSS к нашей странице и добавим стили.
1. Создайте файл
2. Добавьте стили в файл
Сохраните файлы и откройте HTML-страницу в браузере. Теперь ваш сайт выглядит стильно! 🎨
👉 В следующем уроке:
Мы добавим интерактивности с помощью JavaScript и сделаем сайт динамичным.
Подписывайтесь на канал, чтобы не пропустить новые уроки: [t.me/rm_programmer](https://t.me/rm_programmer)
Делитесь своими результатами в комментариях! 💬
#вебразработка #css #html #программирование #rm_programmer
Привет, будущие разработчики! 👋
В прошлом уроке мы создали свою первую HTML-страницу. Сегодня мы добавим ей стилей с помощью CSS и сделаем наш сайт красивым!
📌 Что такое CSS?
CSS (Cascading Style Sheets) — это язык стилей, который отвечает за внешний вид вашего сайта: цвета, шрифты, отступы, анимации и многое другое.
🛠 Как подключить CSS к HTML?
Есть три способа:
1. Inline-стили — прямо в HTML-теге.
2. Внутри HTML-файла — с помощью тега
<style>. 3. Отдельный файл — самый удобный способ.
📝 Практика:
Давайте подключим CSS к нашей странице и добавим стили.
1. Создайте файл
styles.css и подключите его к HTML: <!DOCTYPE html>
<html>
<head>
<title>Мой первый сайт</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<h1>Привет, мир!</h1>
<p>Это мой первый шаг в веб-разработке.</p>
</body>
</html>
2. Добавьте стили в файл
styles.css: body {
font-family: Arial, sans-serif;
background-color: #f0f0f0;
text-align: center;
padding: 50px;
}
h1 {
color: #333;
font-size: 2.5em;
}
p {
color: #666;
font-size: 1.2em;
}Сохраните файлы и откройте HTML-страницу в браузере. Теперь ваш сайт выглядит стильно! 🎨
👉 В следующем уроке:
Мы добавим интерактивности с помощью JavaScript и сделаем сайт динамичным.
Подписывайтесь на канал, чтобы не пропустить новые уроки: [t.me/rm_programmer](https://t.me/rm_programmer)
Делитесь своими результатами в комментариях! 💬
#вебразработка #css #html #программирование #rm_programmer