Урок 27 из 29
В прогрессе

27php session

  • $_SESSION — Переменные сессии

      Сессия это файл который создается на стороне сервера

файл Сессии создаётся для каждого пользователя

Если у нас будет 100 пользователей, то под них создаться 100 файлов в Сессии

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

Есть специальность скрипт который чистит сервер от мусора он проходит и удаляет устаревшие файлы

При этом все данные нам доступны через массив $_SESSION


session_start — Стартует новую сессию, либо возобновляет существующую

Давайте посмотрим Где у нас файл Сессии находится в браузере и где он лежит на сервере

session_start();
$_SESSION[‘start’] = «IGS»;

Давайте попробуем написать счётчик

index напишем

$_SESSION[‘count’] = isset($_SESSION[‘count’]) ? ++$_SESSION[‘count’] : 1;

?>

<a href=»index2.php»>index2</a>

index2 напишем

if (!empty($_SESSION[‘count’] ) ) {

  echo «Вы посетили страницу index {$_SESSION[‘count’]}»;

}

?>

<a href=»index.php»>index</a>


 Как нам удалить сессию

 мы можем это сделать из браузера

 а также мы можем удалять данные сессии с помощью функции session_unset — Удалить все переменные сессии

 


password_hash

password_verify


HOME TASK

скачать файлы СКАЧАТЬ

 

1 Если не заполнены все поля вывести сообщение, что все поля обязательны

2 Убрать все пробелы с помощью функции trim()  Присутствует Каждый элемент массива Post своей переменной

3 изображение перенести папку img

4 Если пароли не совпадают, то вывести сообщение пароли не совпадают

5  перенаправить пользователя на страницу авторизации и вывести сообщение вы успешно зарегистрировались

 

ПРИМЕР

<?php
session_start();
if (
  empty($_POST[‘full_name’]) ||
  empty($_POST[‘login’]) ||
  empty($_POST[’email’]) ||
  empty($_POST[‘password’]) ||
  empty($_POST[‘password_confirm’])
){
  $_SESSION[‘info’] = «все поля обязательны «;
  header(«Location: /register.php»);
  die;
}
$password = trim($_POST[‘password’]);
$password_confirm = trim($_POST[‘password_confirm’]);
if ($password != $password_confirm) {
  $_SESSION[«info»] = «пароли не совпадают»;
  header(«Location: /register.php»);
  die;
}else{
  $password = password_hash($password, PASSWORD_DEFAULT);
}
if (isset($_FILES[‘avatar’])){
  $path = «img/» . isset($_FILES[‘avatar’][‘name’]);
  move_uploaded_file($_FILES[‘avatar’][‘tmp_name’],  «../» .  $path);
   }