Суперглобальные массивы, Cookie в PHP | Базовый курс PHP-7

Поділитися
Вставка
  • Опубліковано 20 січ 2025

КОМЕНТАРІ • 38

  • @Atikan37
    @Atikan37 10 місяців тому +1

    спасибо большое за прекрасные уроки!

  • @ВитяБаев-ы5б
    @ВитяБаев-ы5б 4 роки тому +7

    твой английский, твое произношение, твое написание - как отдельный вид искусства))

    • @MyNeshika
      @MyNeshika 4 роки тому +1

      по Андреевски))

  • @maksimlepel9594
    @maksimlepel9594 Рік тому +4

    Благодарю, отличная подача материала

  • @aleksandrsh3893
    @aleksandrsh3893 Рік тому +1

    Спасибо, очень полезный урок, особенно проводка по ошибкам.

  • @space_m8245
    @space_m8245 4 роки тому +3

    продолжайте, не останавливайтесь. классная подача материала))

  • @vovaLYSA
    @vovaLYSA 18 днів тому

    Отдохнул и можо продолжать, как всегда все хорошо рассказал

  • @BookwormYevgen
    @BookwormYevgen 4 роки тому +8

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

  • @mederkochkoruulu9631
    @mederkochkoruulu9631 4 роки тому +2

    Хороший урок. Лайк! Я новичок не давно начал где то месяц назад. Посмотрел твои уроки вроде все понимаю но на деле не получается. Думаю как связать все эти переменные, массивы, функции и.т.д. Неделю назад сделал блок меню на js. Неделя ушло за это. Посмотрел много уроков в итоге не научился, полный ноль. Потом как то сделал. Где то видел как открыть и закрыть окно. Потом еще где то видел как при клике вне елемента закрыть окно и еще в одном видео видел как добавить крестик $time. в конце за день все это сделал, собрал. Вот тогда понял что такое переменные. Сейчас в php тоже такое . Уже неделю ищу как сделать форму авторизации и регистрации. Тоже за неделю не на что не научился. Сейчас смотрю как другие делают и за ними повторяю. Вот тогда начинаю понимать что такое переменные, что такое функции и как все это обработать, проверять. Без практики не понимаю. В конце я хотель бы посмотреть видео про то что как будет все это в практике. Спасибо за урок!

  • @sintel8138
    @sintel8138 4 роки тому +3

    Для тех кто не может решить задачу, дам подсказку.
    Чтобы получить значение последнего созданного нами куки воспользуйтесь функцией - end($_COOKIE);
    Для полного понимания её работы, попробуйте в ручную создать несколько куки:
    setcookie('Hey', 0);
    setcookie('Hey1', 1);
    setcookie('Hey2', 2);
    И посмотреть, как они выглядят:
    echo '';
    print_r($_COOKIE);
    echo '';
    Так же не обязательно использовать неизвестную нам функцию - end();
    Мы можем просто пройтись по массиву через foreach:
    setcookie('Hey', 0);
    setcookie('Hey1', 1);
    setcookie('Hey2', 2);
    $lastElement = 0; // создаём переменную в которую будет записано значение последнего созданного нами куки
    foreach ($_COOKIE as $value){
    $lastElement = $value; // после прохода массива по всем элементам, в итоге мы получим значение последнего созданного куки.
    }
    echo $lastElement; // Получаем 2 (обновите страницу 2 раза)

    • @sintel8138
      @sintel8138 4 роки тому +5

      Если совсем не получается, то вот решение задачи:
      setcookie(getNameCookie(), getValueCookie());
      function getNameCookie(){
      if (isset($_COOKIE['Hello'])) {
      return 'Hello' . getValueCookie();
      } else {
      return 'Hello';
      }
      }
      function getValueCookie(){
      if (!isset($_COOKIE['Hello'])) {
      return 0;
      }
      return end($_COOKIE) + 1;
      }

    • @sreggh
      @sreggh 3 роки тому +3

      @@sintel8138 ну блин, это для понимания сложно) я повторил код, когда прочитал. но сам не смог бы написать. в частности потому, что не знал функцию end и потому, что не знал, что можно использовать такую конструкцию:
      return end($_COOKIE) + 1;
      через return добавить единицу к значению из массива

    • @nurlannadzhavov1054
      @nurlannadzhavov1054 2 роки тому +2

      @@sreggh Это факт. Без помощи хрен я сделал бы. Спасибо Sintel который помогает 'близоруким' найти путь к решению задачек

  • @procode9474
    @procode9474 4 роки тому +2

    Лайк! ;)

  • @МишаДрон-б5и
    @МишаДрон-б5и 4 роки тому +3

    Было бы хорошо, чтобы были ответы на ДЗ, бывает сидишь по 5 часов и ничего не выходит.

  • @Sergey-rn2hj
    @Sergey-rn2hj 2 роки тому +2

    Еще вариант
    setcookie(getName(), getValue());
    function getName() {
    foreach ($_COOKIE as $key=>$value) {
    if(stristr($key, "test-$value")) {
    SetCookie("test-$value", "" );
    $value++;
    return "test-$value";
    }
    }
    return "test-1";
    }
    function getValue() {
    foreach ($_COOKIE as $key=>$value) {
    if(stristr($key, "test-$value")) {
    $value++;
    return $value;
    }
    }
    return 1;
    }

  • @ОлегКулаков-ж9с
    @ОлегКулаков-ж9с 9 місяців тому

  • @bogdanapache8263
    @bogdanapache8263 3 роки тому

    Мэн, ты просто лучший

  • @inspirostudio
    @inspirostudio 4 роки тому

    А где ответ посмотреть?

    • @andrievskii
      @andrievskii  4 роки тому

      Ответ на что?

    • @kostyakozlov5289
      @kostyakozlov5289 4 роки тому

      @@andrievskii на дз наверное, я часов пять просидел и ничего не получилось, всё попытки работы через функции упирались в ошибку с не определенным именем, перезаписать через функцию plus тоже не удалось, при обновлении только 1 0 получал, а посмотреть на значение тоже никак, потому что ещё не добавил в массив, может я конечно тупой. Вас уже давно не видно надеюсь всё в порядке.

  • @adrtalladi2404
    @adrtalladi2404 3 роки тому

    Норм

  • @artyrdanilov2791
    @artyrdanilov2791 Рік тому

    Кто решил ДЗ ?)

    • @РамазанУскенбаев-п7щ
      @РамазанУскенбаев-п7щ Рік тому +1

      Пхахах сидим в 2023 и не можем решить, коды в комментах у меня не работают как бы я их не подстраивал под свой код

  • @mavvdies
    @mavvdies Рік тому

  • @coyctop
    @coyctop 2 роки тому

    Не понимаю что тут придумывают в коментах, можно же сделать очень просто через использование кук из видео: setcookie('test' . $_COOKIE['test'], $_COOKIE['test']);

    • @Sirius772
      @Sirius772 Рік тому

      В коментах дают решения без опоры на описанную куки из видео, чтобы у пользователя не оказалось по итогу две куки, например:
      test => 3;
      test3 => 3

  • @Sirius772
    @Sirius772 Рік тому

    Более универсальное решение задачи:

    • @ДмитрийУсов-м4я
      @ДмитрийУсов-м4я Рік тому

      Код не работает. Видимо из-за старой версии PHP(использую 7.4 через OpenServer)
      Выдает следующие ошибки:
      Deprecated: The behavior of unparenthesized expressions containing both '.' and '+'/'-' will change in PHP 8: '+'/'-' will take a higher precedence in C:\Users\ysovv\OneDrive\Рабочий стол\php\index.php on line 26
      Fatal error: Uncaught Error: Call to undefined function str_starts_with() in C:\Users\ysovv\OneDrive\Рабочий стол\php\index.php:30 Stack trace: #0 C:\Users\ysovv\OneDrive\Рабочий стол\php\index.php(26): incrementTestCookie() #1 {main} thrown in C:\Users\ysovv\OneDrive\Рабочий стол\php\index.php on line 30

    • @МаксимГалкин-э5р
      @МаксимГалкин-э5р 10 місяців тому

      это решение для тех кто не хочет удалять куки

  • @Александр-л8э9й
    @Александр-л8э9й 2 роки тому

    На большее не хватило
    $n = $_COOKIE['test'];
    setcookie('test' . $n, $n);