Intereting Posts
jqgrid пользовательские данные JSON отсутствуют, но не отображаются данные Есть ли способ для пользователей моего сайта приглашать своих друзей через Facebook Connect или API? Новый API Instagram – как вы запрашиваете тегированные носители? Как динамически создавать массив в php со строковым индексом Как проксировать другую страницу в PHP Может ли модель иметь несколько таблиц в CakePHP? Как получить текущее местоположение пользователя с помощью Google Geocode API и PHP Есть ли способ безопасно переопределить класс в PHP? Открыть график | Опубликовать действие | Использование PHP для cURL вместо терминального Как удалить расстояние между линиями в Textarea? Проблемы с маршрутизацией URI для модулей в Zend Framework опорные автоинкрементные столбцы? Как можно использовать многопоточность в PHP-приложениях Magento: заказ имеет счет-фактуру (сгенерирован), но «Total due»> 0 Выберите записи между датами в доктрине 2

Значения формы Coldfusion для php setcookie ()

У меня есть страница Coldfusion с опубликованными значениями формы, которые я передаю на страницу php (через cfhttp). Пример кода Coldfusion:

<cfhttp method="Post" url="https://www.test.com/ssl/get_cookies.php" result="cookieResponse"> <cfoutput> <cfif isdefined( "ppcid" )><cfhttpparam name="PPCID" type="formField" value="#session.ppcid#"></cfif> <cfif isdefined( "cid" )><cfhttpparam name="CID" type="formField" value="#session.cid#"></cfif> <cfif isdefined( "leadcomm" )><cfhttpparam name="LEADCOMM" type="formField" value="#LEADCOMM#"></cfif> <cfif isdefined( "clk" )><cfhttpparam name="CLK" type="formField" value="#CLK#"></cfif> <cfif isdefined( "dck" )><cfhttpparam name="DCK" type="formField" value="#DCK#"></cfif> <cfif isdefined( "ccid" )><cfhttpparam name="CCID" type="formField" value="#CCID#"></cfif> </cfoutput> </cfhttp> 

После того, как я отправлю эти значения в get_cookie.php, я хочу установить эти значения как файлы cookie. Вот пример моего кода get_cookies.php:

  setcookie("LEADCOM", getVariable('LEADCOMM'), time()+604800, "/", ".fha.com", 0); setcookie("CCID", getVariable('CCID'), time()+604800, "/", ".fha.com", 0); setcookie("QTR", getVariable('QTR'), time()+604800, "/", ".fha.com", 0); setcookie("CLK", getVariable('CLK'), time()+604800, "/", ".fha.com", 0); setcookie("DCK", getVariable('DCK'), time()+604800, "/", ".fha.com", 0); 

FYI – getVariable является функцией $ _REQUEST переменной CF в PHP. Я проверяю мой браузер, и я не вижу эти куки, даже когда я пытаюсь пересмотреть страницу. Какие-либо предложения?

Вы устанавливаете файлы cookie в браузере. В этом случае «браузер» является тегом CFHTTP который не поддерживает файлы cookie. Вы можете прочитать файлы cookie, которые были установлены, они возвращаются в ответе cfhttp, но они нигде не будут написаны.

В случае вашего примера выше вы можете представить свой запрос CFHTTP в качестве «браузера», который делает запрос на страницу PHP. Печеньки, которые вы устанавливаете на PHP, возвращаются в результат CFHTTP «cookieResponse». В этот момент они все еще находятся на сервере, ничто не было возвращено первоначальному клиенту (тот, который вызывал страницу CF для начала). Если вы хотите, чтобы они были установлены в качестве файлов cookie в этот момент в браузер конечного пользователя, вам необходимо снова установить их с помощью ColdFusion. Это означает, что вам придется проанализировать результат cookieResponse.header, найти файлы cookie. Вы можете получить куки-файлы с помощью cookieResponse.responseHeader ["SET-COOKIE"] и установить их в браузер конечного пользователя cfheader

Как это

 <cfset cookies = cookieResponse.responseHeader["set-cookie"] /> <cfloop from="1" to="#structCount(cookies)#" index="i"> <cfheader name="SET-COOKIE" value="#cookies[i]#" /> </cfloop>