Поточний час:
Сьогодні 23 листопада, четверг 2017 рік
Стрічка RSS

Введіть ваш Е-mail:

Zura-Blog 2 роки 11 місяців 4 дня

Ваш ip адрес:54.224.18.114

Доброго дня!
Ви обновили сторінку в 18 : 24
Статистика

Кількість публікацій на блозі: 367
Кількість коментарів на блозі: 102
Кількість категорій на блозі: 17
Кількість міток на блозі: 28

Zura – Blog
Яндекс.Метрика UA TOP Bloggers

cookie_jobПривіт всім відвідувачам Zura — Blog, в попередній публікації говорилось про такий важливий термін в веб програмуванні як “cookie”, в сьогоднішній публікації продовження цієї теми, а саме буде говоритись про те як працювати з “cookie”.

Знаєте, можливо десь хтось з вас вважає що поняття “cookie” не є такою вже й потрібною темою, щоб ій приділяти багато уваги.

Але скажу що така думка помилкова, оскільки більшість скриптів які написані для різних видів форм відправки даних, не зможуть працювати без застосування куки.

В попередній публікації “Що таке cookie, робота з cookie в мові програмування php” я не вказав саме основне правило, це те що встановлювати “cookie” необхідно перед початком коду сторінки, що мається на увазі, це те що функцію  setcookie (); потрібно прописувати на самому початку, перед початком тегу <html>.

Якщо зробити по іншому, наприклад після тегу <html>, скажем між тегами <body> </body><head> </head> то звичайно що “cookie” буде встановлена не правильно. Також не вказав як взагалі провірити чи “cookie” встановлена, тому і вирішив в цій публікації викласти матеріал, яким чином можна перевірити чи “cookie” правильно встановлена.

Отож, в цій публікації до вашогої уваги простенький скрипт, який покаже що “cookie” робоча, перевірити можна способом обновлюючи сторінку, хоча в принципі цей скрипт нижче, скоріш за все пригодиться для якихось навчальних, або практичних цілей.

Оскільки провірити наявність “cookie” можна в кожному браузері використовуючи спеціальні інструменти, функція провірки наявності “cookie” присутня в кожному з чотирьох популярних браузерів, звісно що виклик цієї функції може відрізнятись в кожному з браузерів.

Але таку інформацію, яким способом в любому браузері можна перевіти наявність “cookie”, знайти її не проблема. Я для таких цілей використовую плагін Firebug, який в мене встановлений в браузер Mozilla Firefox, плагін який безперечно стане в нагоді кожному хто з вас вирішив вивчати веб дизайн.

Чи встановлюється цей плагін в інші браузери, не скажу, думаю що так, хоча якщо ви вирішили стати веб майстром, то звісно що вам прийдеться для своїх проектів працювати з всіма популярними браузерами.

Крім мазіли і опери, появилися ще браузер від яндекса і гуглівський хром, цими чотирьма браузерами і користуються більшість відвідувачів, тому звісно що в своїх проекта вам прийдеться орієнтуватись на всі чотири браузера, а не на один якийсь, якому ви надаєте перевагу.   

Ну що — ж, по суті “cookie” це такий собі “заголовок”, а “заголовок” звісно що буває на початку, тому і функція setcookie (); щоб правильно працювала повинна бути прописана тільки на початку,  в кодах на сторінці.

Це необхідно знати, і це є важливою вимогою, оскільки в іншому випадку “cookie” буде не робочою.

Отож, вважаю за потрібне викласти приклад простого скрипта, щоб перевірити як працює “cookie”. Власне що на сторінці буде показано завдяки прикладу такого скрипта, буде виводитись інформація, скільки разів обновилась сторінка.

<?php if (isset($_COOKIE['count'])){
    $count = ++$_COOKIE['count'];
} else{
    $count = 1;
}
    setcookie('count', $count, time()+86400);
?>
Сторінка обновилась: <?php echo $count?> раз

В цьому коді скрипта бачимо що функція setcookie() встановлена не на початку рядка коду, все правильно, оскільки функція setcookie() а точніше кука, встановлюється до початку любого виведення на сторінці в браузері, і якщо виведення ніякого перед цим кодом скрипта не має, то “cookie” в такому випадку встановлена правильно, а рядок коду може бути і не на початку.

В коді вище присутнє виведення (Сторінка обновилась: <?php echo $count?> раз), але знаходиться виведення після встановленої “cookie” (setcookie(‘count’, $count, time()+86400);), так що “cookie” встановлена правильно.

Рядки коду вище служать для того щоб рахувати скільки разів той самий відвідувач зайшов на сторінку, перший рядок коду вказує браузеру що, якщо в “cookie” є вже хтось з назвою “count”, тоді змінна $count а точніше рахунок збільшується на одиничку (++), в іншому випадку “else” змінна $count а точніше рахунок починається з одиниці, так як до цього моменту нікого з назвою “count” не було на сторінці браузера.

Ну що ж, так приблизно працює “cookie”, кожен раз коли в браузері обновлюється сторінка, рахунок збільшується  на одиницю, і це значення записується в “cookie”.

До речі, якщо ви після того як пару разів обновите сторінку, і у вас буде писати що “Сторінка обновилась скажем 20 раз”, то коли ви відкриєте цю сторінку в іншому браузері, тоді у вас знову відобразиться одиниця, і обновлення сторінки буде рахуватись заново, оскільки  цим браузером створиться вже своя, а точніше його, від іншого браузера “cookie”.

При кожному запиті встановлюється нове значення в “cookie”, і при кожній відповіді, браузер відправляє  це значееня на сервер, до нас.

Ну і як видалити “cookie”, власне дуже просто, потрібно виставити “cookie” з тою самою назвою, значення повинно бути відсутнім, ну або пустим скажем, і для тривалості “cookie” потрібно виставити час в минулому.

Якщо в “cookie” вказати те саме імя що було вказано в попередній “cookie”, тоді після обновлення сторінки всі дані будуть зчитуватись з нової “cookie”, а не з попередньої, і звісно що якщо час виставлений минулий, тоді і “cookie” вже буде не дійсна, і браузером видалиться автоматично, оскільки тривалість часу життя “cookie” вже буде вичерпана.

І ще одне, як перевірити чи працює функція тайм, дуже просто, рядок коду нижче.

echo time();

після обновлення сторінки зявиться поточний час в форматі unix time, це приблизно десятикратне число, після кожної обновлення сторінки це число буде змінюватись, власне число показує скільки пройшло секунд з 1 січня 1970 року. Саме з цієї дати рахується час.

Як перевірити”cookie” в браузері, як я вже зазначав на початку публікації що в кожному браузері існує така функція, для того щоб її викликати потрібно клацнути на клавішу, або комбінацій з клавіш.

cookie_job1

cookie_job2

Які саме клавіші, чи клавіша, для цього набираємо в пошуковику запитання, наприклад “Як переглянути “cookie” в браузері такому то”, звісно що пошуковик видасть декілька сайтів, на сторінках яких можна буде знайти таку інформацію.

Я щоб переглянути наявність “cookie”,  використовую один інструмент які встановлений в браузері Mozilla Firefox, інструмент цей, це плагін firebag, і він призначений не тільки для показу наявності “cookie”, в цьому плагіні безліч корисних інструментів для веб майстрів.

Який, до речі я рекомедую встановити, та й взагалі браузер Mozilla Firefox багатьма веб майстрами вважається бажаним, більшість веб майстрів саме цьому браузеру надають перевагу.

Ну що ж мабуть буду вже закруглятись, та й цю публікацію приходиться викладати використовуючи записний (інтертелекомівський) інтернет, а він не дуже зручний, безпровідний, і тому деколи стаються розриви.

В принципі основної інформаціх по “cookie” в цих двох публікаціях достатньо, тим більше на zura – blog крім цих двох публікацій які стосуються “cookie”, є в наявності інші публікації які писались раніше, посилання на них можна знайти в самому низу цієї сторінки.

Ох чомусь пропав в мене основний інтернет, буду завтра дзвонити і спитаю “що за х–ня така”, я розумію що вихідні в них, але це ж не причина залишити клієнта на два дня без інтернету.

Адже клієнт все таки заплатив, і тариф то в них далеко не дешевий, а без оплати клієнт нікого то не залишив, а послугу як положено не отримав, і коли вже цей “бардак” в нас пропаде, ось якби справді як говорять “по європейські” через суд, який би повинен заставити провайдера відшкодувати клієнту класну грошову компенсацію.

Тоді би й вихідних не було ні яких, і дзвінки би приймались цілодобово, а то чекай два дня, не знати з якої радості, та й чому я повинен чекати, і як тут не матюкатись. Я розумію що привиклось все по “колгоспному” робитись, але по “колгоспному” то все було безкоштовно то.

Ось і получається що нічого не поробиш, тарифи оплачуй европейські, а послугу отримуй по колгоспному, добре що в мене є запаний варіант, це інтертелекомівський.

Скільки раз дорікаю собі що роблю оплату в двадцять гривень за інтернет від інтертелекома, погоджуюсь що не багато, і не збіднію від такої оплати, і так якби й не потрібний вже мені їхній інтернет,  але як сам переконуюсь не дарма, все ж таки, ось такі цирки трапляються.

Добре що на “буксах” вже не “парюсь”, а то би матюків то було. Вчора із відсутності інтернету, маю на увазі людського, це швидкісний і безлімітний, запустив прогу PHP Storm, і “попарився” трошки з кодами.

Не дарма час потратив, один скрипт для себе все таки “зшаманив”, який буде показувати хто з відвідувачів заходив на сторінку, точніше  айпішку відвідувача, і скільки разів відвідував цю сторінку, правда потрібно ще роботу цього скрипта протестувати, адже з локального “сервака” той що в мене на компі створений завдяки пакетам програм від Денвер і Енделс, добре не провіриш.

Отож коли повністю все провірю від і до, тоді звісно що викладу публікацію. По суті скрипт повинен получитись корисним.

На цьому все до зустрічі!


user_97

Інші публікації на Zura – Blog які стосуються “cookie”, і в цих публікаціях також знайдеться корисна інформація яка стосується “cookie”.


Leave a Reply

Your email address will not be published. Required fields are marked *