Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Есть ли еще что, помимо кук

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
ПТО
Отправлено: 03 Августа, 2015 - 09:41:27
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




задача стоит такая: каждый раз при отправке POST или GET запроса от браузера к серверу нужно передавать определенную переменную. В список отсылаемых переменных (формы или адресной строки типа ?key=val1, или mysite/val1/) включать не хочу.

Я реализовал это с помощью кук, устанавливаешь значение куки, и она с каждым запросом передается на сервер. Удобно, что надо. Но есть один минус: кука устанавливается на все вкладки браузера. То есть, если на одной вкладке в браузере поменять значение куки, то на другой она тоже поменяется. А мне надо, чтобы на каждой открытой вкладке было бы свое значение.

есть какие-нибудь другие способы реализовать это? Может быть, другой механизм? Хм
Адресная строка может быть одна и та же. В одной вкладке - один val1, в другой - val2

Спасибо за ответы
 
 Top
ПТО
Отправлено: 03 Августа, 2015 - 13:00:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




ну, или второй вариант: перед каждым запросом (синхронным, асинхронным, POST, GET) добавлять в него переменную. Тогда как это сделать, но не перебирать каждый запрос, а чтобы на автомате добавлялось. Закатив глазки
 
 Top
Tyoma5891
Отправлено: 03 Августа, 2015 - 14:16:04
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013  


Помог: 5 раз(а)




Токены
 
 Top
DeepVarvar Супермодератор
Отправлено: 03 Августа, 2015 - 16:49:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




В каждую критичную форму/ссылку (не важно гет/пост) добавлять токен, который будет ключом данных в сессии, так по токену можно будет определить с какой именно формы прилетел запрос.
 
 Top
ПТО
Отправлено: 03 Августа, 2015 - 21:20:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




Такой вопрос:
можно ли одной и той же куке на одном и том же адресе дать два разных значения, каждое в своем окне, и чтобы они не перезаписали друг друга? Насколько я знаю, нет.

Или в html <head> заголовке можно указать параметр, который будет с каждым запросом автоматически добавляться к запросу?
 
 Top
DeepVarvar Супермодератор
Отправлено: 03 Августа, 2015 - 22:12:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




ПТО пишет:
можно ли одной и той же куке на одном и том же адресе дать два разных значения
Конечно -- сессии.
 
 Top
etoYA
Отправлено: 03 Августа, 2015 - 23:34:25
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




А почему не sessionStorage?
 
 Top
DeepVarvar Супермодератор
Отправлено: 04 Августа, 2015 - 04:08:27
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




А почему sessionStorage?
 
 Top
ПТО
Отправлено: 04 Августа, 2015 - 08:18:55
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




DeepVarvar пишет:
ПТО пишет:
можно ли одной и той же куке на одном и том же адресе дать два разных значения
Конечно -- сессии.

Как? Можно куки различать по адресу:
setcookie("testcookie", "value1hostonly", time(), "/", ".example.com", 0, true);
если путь ("/") одинаковый, тот куки с одинаковым именем будут перезаписывать друг друга
 
 Top
etoYA
Отправлено: 04 Августа, 2015 - 15:00:57
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




DeepVarvar пишет:
А почему sessionStorage?

Может я в чем то не прав, но задача была такой:

Я хочу, чтоб где то хранились данные, которые я могу подставлять при POST/GET запросе, да еще так, чтоб они не пересекалась с другими вкладками.

Если так, то зачем куки?

CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5.         <meta charset="UTF-8">
  6.         <title>Document</title>
  7. </head>
  8. <body>
  9.         <button onclick="s()">SET</button>
  10.         <button onclick="g()">GET</button>
  11.         <script>
  12.                 function s() {
  13.                         sessionStorage.setItem('i', Math.floor(Math.random() * 100));
  14.                 }
  15.                 function g() {
  16.                         console.log(sessionStorage.getItem('i'));
  17.                 }
  18.         </script>
  19. </html>
  20.  

(Отредактировано автором: 04 Августа, 2015 - 15:07:12)

 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Августа, 2015 - 08:37:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Т.е. ты предлагаешь хранить промежуточные шаги на клиенте?
Ну, вон рамблер только недавно исправил, достаточно было только поменять в значениях кук номер шага, и ты переходил сразу к третьему шагу ввода нового пароля без ответа на серкретный вопрос.
 
 Top
ПТО
Отправлено: 05 Августа, 2015 - 10:28:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 395
Дата рег-ции: Янв. 2012  


Помог: 3 раз(а)




etoYA пишет:
Может я в чем то не прав, но задача была такой:

Я хочу, чтоб где то хранились данные, которые я могу подставлять при POST/GET запросе, да еще так, чтоб они не пересекалась с другими вкладками.

Если так, то зачем куки?

Задача была такой:

Я хочу, чтоб где то хранились данные, которые автоматически бы отправлялись при POST/GET запросе, да еще так, чтоб они не пересекалась с другими вкладками.
 
 Top
DeepVarvar Супермодератор
Отправлено: 05 Августа, 2015 - 10:35:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




ПТО пишет:
если путь ("/") одинаковый, тот куки с одинаковым именем будут перезаписывать друг друга
Значение одной и той же куки есть ключ данных, которые ты хранишь на сервере. Хошь в базе, хош в файлах, хош в сессии.
(Добавление)
ПТО пишет:
хочу, чтоб где то хранились данные, которые автоматически бы отправлялись
Реализуй. В чем проблема?
 
 Top
etoYA
Отправлено: 05 Августа, 2015 - 10:37:35
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




DeepVarvar пишет:
Т.е. ты предлагаешь хранить промежуточные шаги на клиенте?
Ну, вон рамблер только недавно исправил, достаточно было только поменять в значениях кук номер шага, и ты переходил сразу к третьему шагу ввода нового пароля без ответа на серкретный вопрос.

Ну да, тоже верно.
ПТО пишет:

Задача была такой:

Я хочу, чтоб где то хранились данные, которые автоматически бы отправлялись при POST/GET запросе, да еще так, чтоб они не пересекалась с другими вкладками.

Автоматически это уже дело такое...
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB