ColdFusion, установка переменной POST - PullRequest
1 голос
/ 12 ноября 2010

Я редактирую свой первый скрипт ColdFusion .... У меня есть форма с <input type="hidden" name="name" value="1">.

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

Я знаю, как это сделать в PHP, например,

$_POST['somename'] = $_POST['name']

Как бы я это сделал в CF?

Ответы [ 3 ]

6 голосов
/ 12 ноября 2010

Следуя идиоме в вашем php-коде, вы можете сделать что-то вроде этого:

<cfset form['somename'] = form['name']>

... или, если в cfscript:

form['somename'] = form['name'];

Если вы обеспокоеныо существовании переменной вы можете предшествовать присваиванию с помощью <cfparam>:

<cfparam name="form.name" default=""><!--- assuming blank ok as default --->
<cfset form['somename'] = form['name']>

... или в сценарии:

param name='form.name' default='';
form['somename'] = form['name'];   

Конечно, вы также можете обернуть присвоениев условном выражении:

if( structkeyexists(form,'name') ){
  form.somename = form.name; // dot notation alternative to bracket syntax
}

Все это ставит вопрос о том, чего именно вы пытаетесь достичь с помощью этого подхода.

1 голос
/ 12 ноября 2010

Синтаксис ColdFusion аналогичен.Переменные "Post" доступны в FORM структуры системы, а переменные "Get" - в URL структуры системы.Как и в PHP, к значениям можно получить доступ, используя ассоциативную запись массива.Вы также можете использовать точечную запись (для допустимых имен полей)

    <cfset otherVariable = FORM["variableName"] >
    <cfset otherVariable = FORM.variableName >

Я хочу взять это значение и установить его в качестве переменной POST, чтобы я мог отправить его на другую страницу.1006 *

Я не совсем уверен, что вы там имеете в виду.Как правило, вам не нужно переназначать значения FORM или URL.Вы просто ссылаетесь на переменную в своем коде.

 <cfoutput>
    <a href="someOtherPage.cfm?name=#FORM.variableName#">Go To Other Page</a>
 </cfoutput>
0 голосов
/ 12 ноября 2010

Вы можете попробовать это, проверив, установлена ​​ли переменная post, и сохранив ее с областью действия FORM.

<cfif isdefined ("FORM.name")>
<cfset FORM.somename="#FORM.name#">
</cfif>
...