Массив Π² ΠΊΡƒΠΊΠΈ php

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² cookies PHP

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ массив Π² cookie? Π² PHP ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

8 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²

ΠΏΠΎΡ‚ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ значСния массива Π² cookie, сначала Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² строку, поэтому Π²ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ cookies ΠΊΠ°ΠΊ JSON

JSON ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ cookie Π² интСрфСйсС с JavaScript.

Π½Π° самом Π΄Π΅Π»Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой encrypt_array_to_string / decrypt_array_from_string Π³Ρ€ΡƒΠΏΠΏΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ массив Π² строку ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку Ρ‚ΠΎ ΠΆΠ΅ самоС массив. НапримСр, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ explode / implode для массива Ρ†Π΅Π»Ρ‹Ρ… чисСл.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ/Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ

Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Массив Π² ΠΊΡƒΠΊΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π€ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php

ссылки, связанныС с Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΈ Π±Π΅Π· прСобразования массива Π² строку.

это докумСнтированная функция PHP.

Cookies names can be set as array names and will be available to your PHP scripts as arrays but separate cookies are stored on the user’s system.

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° ΠΏΠ΅Ρ‡Π΅Π½ΡŒΠ΅-это риск для бСзопасности. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ (ΠΈΠ»ΠΈ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΈ) ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ cookie, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ PHP-ΠΊΠΎΠ΄ Π½Π° сСрвСрС. НС слСдуСт Π΄ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌ Cookie. ВмСсто этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ JSON!

НС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ Π² unserialize (). НСсСриализация ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΈΠ·-Π·Π° создания экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ автоматичСской Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΈ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ бСзопасный стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ JSON (Ρ‡Π΅Ρ€Π΅Π· json_decode() ΠΈ json_encode ()), Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ сСриализованныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ json_encode() Как сказал Π ΠΎΠ±, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ cookie Π² javascript.

Cookies-это Π² основном тСкст, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ массив, кодируя Π΅Π³ΠΎ ΠΊΠ°ΠΊ строку JSON (см. json_encode ). Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ сущСствуСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρƒ строки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.

Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ элСмСнты Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… cookie. ИмСна Cookies ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° массивов ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ доступны вашим PHP скриптам Π² Π²ΠΈΠ΄Π΅ массивов, Π½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ cookies хранятся Π² систСмС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Рассмотрим explode (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» cookie с нСсколькими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ значСниями. НС рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ serialize () для этой Ρ†Π΅Π»ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π΄Ρ‹Ρ€Π°ΠΌ Π² бСзопасности. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ cookie посрСдством setcookie функция PHP для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π½Π΅Π΄Π°Π²Π½ΠΎ я создал этот ΠΊΠΎΠ΄ для ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ массив для cookie Π² этом ΠΊΠΎΠ΄Π΅, Π½Π° самом Π΄Π΅Π»Π΅ этот ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅Π΄Π°Π²Π½ΠΎ просмотрСнныС страницы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ cookies, надСюсь, это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ.

просто нашСл Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ я ΠΌΠΎΠ³Ρƒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, посСщСнныС cookies, ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ вСрнутся Π½Π° сайт.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

setcookie β€” ΠŸΠΎΡΡ‹Π»Π°Π΅Ρ‚ cookie

ОписаниС

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

МоТно Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ expire ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² качСствС значСния ΠΌΠ΅Ρ‚ΠΊΡƒ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Unix, Π° Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΅Π³ΠΎ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Wdy, DD-Mon-YYYY HH:MM:SS GMT. PHP Π΄Π΅Π»Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ автоматичСски.

Π”ΠΎΠΌΠ΅Π½, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ доступны cookie. Π—Π°Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΌΠ΅Π½Π° ‘www.example.com’ сдСлаСт cookie доступными Π² ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π΅ www ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π°Ρ… Π±ΠΎΠ»Π΅Π΅ высоких порядков. Cookie доступныС Π½ΠΈΠ·ΠΊΠΈΠΌ уровням, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ ‘example.com’, Π±ΡƒΠ΄ΡƒΡ‚ доступны Π²ΠΎ всСх ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Π°Ρ… Π²Ρ‹ΡΡˆΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ, с Ρ‚ΠΎΠΌ числС ‘www.example.com’. Π‘Ρ‚Π°Ρ€Ρ‹Π΅ Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π°ΠΌ Β» RFC 2109, ΠΌΠΎΠ³ΡƒΡ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ . ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΠΈΡΡŒ всС ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½Ρ‹.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

НиТС прСдставлСно нСсколько ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ², ΠΊΠ°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ cookie:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования setcookie()

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ cookie ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ подвСргаСтся URL-ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ cookie дСкодируСтся ΠΈ помСщаСтся Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ имя cookie. Если Π²Ρ‹ Π½Π΅ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ значСния ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ setrawcookie() (Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² PHP 5). ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ содСрТимоС Π½Π°ΡˆΠΈΡ… тСстовых cookie ΠΌΠΎΠΆΠ½ΠΎ, запустив ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ удалСния cookie посрСдством setcookie()

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ cookie достаточно Π² качСствС срока дСйствия ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ врСмя Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ. Π­Ρ‚ΠΎ запустит ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€Π°, ΡƒΠ΄Π°Π»ΡΡŽΡ‰ΠΈΠΉ ΠΈΡΡ‚Π΅ΠΊΡˆΠΈΠ΅ cookie. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ cookie, Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #3 setcookie() ΠΈ массивы

Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² cookie массивы. Для этого ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ cookie Π½ΡƒΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ имя Π² соотвСтствии с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ имСнования массивов. Вакая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ позволяСт ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, сколько имССтся элСмСнтов Π² массивС. ΠŸΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ всС эти значСния Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² массив с ΠΈΠΌΠ΅Π½Π΅ΠΌ этого cookie:

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

Бписок измСнСний

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ скрипта Π΄ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ. Π’ этом случаС вСсь Π²Ρ‹Π²ΠΎΠ΄ скрипта помСщаСтся Π² Π±ΡƒΡ„Π΅Ρ€ Π½Π° сСрвСрС ΠΈ остаСтся Ρ‚Π°ΠΌ, ΠΏΠΎΠΊΠ° Π²Ρ‹ явно Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Π΅Π³ΠΎ Π±Ρ€ΠΎΡƒΠ·Π΅Ρ€Ρƒ. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ осущСствляСтся функциями ob_start() ΠΈ ob_end_flush() Π² скриптС, Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ output_buffering Π² Ρ„Π°ΠΉΠ»Π΅ php.ini ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… сСрвСра.

ΠŸΡ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… Π²Ρ‹Π·ΠΎΠ²Π°Ρ… setcookie() Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π»ΠΈΡΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Arrays in cookies PHP

How is proper way to store an array in a cookie? in PHP Code example:

9 Answers 9

To store the array values in cookie, first you need to convert them to string, so here is some options.

Storing cookies as JSON

JSON can be good choose also if you need read cookie in front end with JavaScript.

Actually you can use any encrypt_array_to_string / decrypt_array_from_string methods group that will convert array to string and convert string back to same array. For example you can also use explode / implode for array of integers.

Warning: Do not use serialize/unserialize

Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Массив Π² ΠΊΡƒΠΊΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π€ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php

References related to security

As an alternative solution, you can do it also without converting array to string.

This is documented PHP feature.

Cookies names can be set as array names and will be available to your PHP scripts as arrays but separate cookies are stored on the user’s system.

Then unserialize data:

Using serialize and unserialize on cookies is a security risk. Users (or attackers) can alter cookie data, then when you unserialize it, it could run PHP code on your server. Cookie data should not be trusted. Use JSON instead!

Do not pass untrusted user input to unserialize() regardless of the options value of allowed_classes. Unserialization can result in code being loaded and executed due to object instantiation and autoloading, and a malicious user may be able to exploit this. Use a safe, standard data interchange format such as JSON (via json_decode() and json_encode() ) if you need to pass serialized data to the user.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² cookies PHP

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ массив Π² cookie? Π² PHP ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

8 ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ²:

ΠΏΠΎΡ‚ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ значСния массива Π² cookie, сначала Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² строку, поэтому Π²ΠΎΡ‚ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² cookie Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON

JSON ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ Ρ‚Π°ΠΊΠΆΠ΅, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ cookie Π² интСрфСйсС с JavaScript.

Π½Π° самом Π΄Π΅Π»Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой encrypt_array_to_string / decrypt_array_from_string Π³Ρ€ΡƒΠΏΠΏΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², которая ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ массив Π² строку ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку Ρ‚ΠΎ ΠΆΠ΅ самоС массив. НапримСр, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ explode / implode для массива Ρ†Π΅Π»Ρ‹Ρ… чисСл.

ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅: НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ/Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ

Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Массив Π² ΠΊΡƒΠΊΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π€ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php

ссылки, связанныС с Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΈ Π±Π΅Π· прСобразования массива Π² строку.

это докумСнтированная функция PHP.

Cookies names can be set as array names and will be available to your PHP scripts as arrays but separate cookies are stored on the user’s system.

ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° ΠΏΠ΅Ρ‡Π΅Π½ΡŒΠ΅-это риск для бСзопасности. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ (ΠΈΠ»ΠΈ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΈ) ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ cookie, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ PHP-ΠΊΠΎΠ΄ Π½Π° сСрвСрС. Π”Π°Π½Π½Ρ‹Π΅ Cookie Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌΠΈ. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JSON!

Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π΅Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ(). НСсСриализация ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ ΠΊΠΎΠ΄Π° ΠΈΠ·-Π·Π° создания экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ автоматичСской Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΈ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ бСзопасный, стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ JSON (Ρ‡Π΅Ρ€Π΅Π· json_decode() ΠΈ json_encode ()), Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ сСриализованныС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ json_encode() Как сказал Π ΠΎΠ±, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΡƒΠΊΠΈ Π² javascript.

Cookies-это Π² основном тСкст, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ массив, кодируя Π΅Π³ΠΎ ΠΊΠ°ΠΊ строку JSON (см. json_encode ). Π˜ΠΌΠ΅ΠΉΡ‚Π΅ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ сущСствуСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π»ΠΈΠ½Ρƒ строки, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ.

Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ элСмСнты Π² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… cookie. ИмСна Ρ„Π°ΠΉΠ»ΠΎΠ² cookie ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ установлСны ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π° массивов ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ доступны для Π²Π°ΡˆΠΈΡ… PHP-скриптов Π² Π²ΠΈΠ΄Π΅ массивов, Π½ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ cookie хранятся Π² систСмС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Рассмотрим explode (), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» cookie с нСсколькими ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ значСниями. НС рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ serialize () для этой Ρ†Π΅Π»ΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π΄Ρ‹Ρ€Π°ΠΌ Π² бСзопасности. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈ Π½Π° setcookie PHP функция для Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ

Π½Π΅Π΄Π°Π²Π½ΠΎ я создал этот ΠΊΠΎΠ΄ для ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ массив для ΠΊΡƒΠΊΠΈ Π² этом ΠΊΠΎΠ΄Π΅, Π½Π° самом Π΄Π΅Π»Π΅ этот ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅Π΄Π°Π²Π½ΠΎ просмотрСнныС страницы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΡƒΠΊΠΈ, надСюсь, Ρ‡Ρ‚ΠΎ это ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ.

просто нашСл Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ я ΠΌΠΎΠ³Ρƒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Ρ‹, посСщСнныС Π½Π° cookies, ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎΠ·ΠΆΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ вСрнутся Π½Π° сайт.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Массив в Cookie

Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Массив Π² ΠΊΡƒΠΊΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π€ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php

ЗдравствуйтС, ΡƒΠ²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ Π±Π»ΠΎΠ³Π° LifeExample, сСгодня Π±ΡƒΠ΄Π΅ΠΌ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ сохранСниСм массива Π² cookie. Π― ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΏΠΎΠ΄ΠΎΠΉΡ‚ΠΈ ΠΊ этой Π·Π°Π΄Π°Ρ‡ΠΈ с Π΄Π²ΡƒΡ… сторон. Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ массив Π² cookie с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PHP, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚ΠΎ ΠΆΠ΅ самоС дСйствиС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaSсript ΠΈ jQuery.

Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρƒ Π½Π΅ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… программистов появится вопрос, Π·Π°Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ массив Π² cookie.

Как Π±Ρ‹ это Π½Π΅ казалось странным, Π½ΠΎ cookie это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для функционирования Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΉ части сайта, Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Если Ρƒ вас Π½Π° сайтС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρƒ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π²Ρ‹Π±ΠΎΡ€ сотовых Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΎΠ² ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŽ, ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ†Π΅Π½Π΅ ΠΈ Ρ‚.Π΄., Ρ‚ΠΎ Π΅ΠΌΡƒ Π±ΡƒΠ΄Π΅Ρ‚ приятно ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ всС свои настройки, послС ΡƒΡ…ΠΎΠ΄Π° ΠΈ возвращСния Π½Π° сайт.

Массив Π² cookie с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ PHP

ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ я Ρ…ΠΎΡ‡Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ вспомнили ΡΡ‚Π°Ρ‚ΡŒΡŽ «Π€ΠΎΡ€ΠΌΠ°Ρ‚ JSON», ΠΎΠ½Π° ΠΊΠ°ΠΊ нСльзя Π»ΡƒΡ‡ΡˆΠ΅ сочСтаСтся с Ρ‚Π΅ΠΌΠΎΠΉ записи массива Π² cookie, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ Π² Π½Π΅ΠΉ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΎ ΠΊΠ°ΠΊ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ слоТныС структуры Π΄Π°Π½Π½Ρ‹Ρ… сСриализированной строкой.

ИмСя ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π² строку массив, ΠΌΡ‹ Π±Π΅Π· Ρ‚Ρ€ΡƒΠ΄Π° смоТСм ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² cookies.

И Ρ‚Π°ΠΊ, ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сохранСния настроСк Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² ΠΊΡƒΠΊΠΈ Π½Π° php:

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, я использовал ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, ΠΈ Ρ‚Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ ΠΎΠ½ Π±Ρ‹Π» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ занСсСн Π² ΠΊΡƒΠΊΠΈ Π² Π²ΠΈΠ΄Π΅ Π²ΠΎΡ‚ Ρ‚Π°ΠΊΠΎΠΉ ΡΡ‚Ρ€Π°ΡˆΠ½ΠΎΠΉ записи:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΡŒ записи массива Π² cookie, ΠΌΠΎΠΆΠ½ΠΎ срСдствами Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² строку ΠΊΠΎΠ΄Π°:

ΠšΡ€ΠΎΠΌΠ΅ сохранСния Π½Π°ΠΌ придСтся Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС записанныС настройки ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ Π²ΠΈΠ΄, ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Массив Π² cookie с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ jQuery

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅ ΠΏΡ€ΠΈΠ·Ρ‹Π²Π°ΡŽ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΡΡ‚Π°Ρ‚ΡŒΠΈ «Π€ΠΎΡ€ΠΌΠ°Ρ‚ JSON», Ρ‚Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ для сохранСния массива ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… структур Π΄Π°Π½Π½Ρ‹Ρ… Π² cookie, Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ гласит ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ jQuery, я ΠΎΠΏΠΈΡˆΡƒ ΠΈΠΌΠ΅Π½Π½ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄.

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΡƒΠΊΠ°ΠΌΠΈ Π² jQuery прСдусмотрСн ΠΏΠ»Π°Π³ΠΈΠ½ jquery.cookie.js (ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ вмСстС с исходниками)

Для осущСствлСния Π·Π°Π΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ, Π½Π°ΠΌ понадобится ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ саму Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ jQuery ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с cookie. Π― сразу ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ кусок ΠΊΠΎΠ΄Π° Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС ΠΏΠΎ ΠΏΠΎΠ»ΠΎΡ‡ΠΊΠ°ΠΌ.

Ну, Π²ΠΎΡ‚ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с массивом ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΈΠ· cookie, ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ значСния ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ. Π£Π²Π΅Ρ€ΡΡŽ вас эти скромныС знания ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ сСгодня Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π°Π· пригодятся Π²Π°ΠΌ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Для Ρ‚Π΅ΠΊ ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² JS ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ массив Π² cookie, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π² Π½Π΅Π³ΠΎ элСмСнты ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ…, я Π²Ρ‹ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ скрипт:

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ дСмонстрируСт, Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ассоциативныС записи ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈΡ… Π² ΠΎΠ΄Π½Ρƒ ΠΊΡƒΠΊΡƒ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ послС считывания массива ΠΈΠ· ΠΊΡƒΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ скрипту, массив ΠΈΠ· cookie Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΏΠ°Π΄Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π½ΠΎΠ²Ρ‹ΠΌ элСмСнтом. НС слоТно Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΎΠ΄Π΅Ρ€Π½ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запись ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

Π£Π²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΠΈ явятся основой для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ поставлСнных Π·Π°Π΄Π°Ρ‡.

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Массив Π² ΠΊΡƒΠΊΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π€ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php

Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Массив Π² ΠΊΡƒΠΊΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π€ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php

Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Массив Π² ΠΊΡƒΠΊΠΈ php. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php. Π€ΠΎΡ‚ΠΎ Массив Π² ΠΊΡƒΠΊΠΈ php

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ Π½Π° рассылку ΠΏΠΎ E-mail ΠΈΠ»ΠΈ RSS Π»Π΅Π½Ρ‚Ρƒ Π±Π»ΠΎΠ³Π°.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *