2010-11-12 10 views
1

Im l'édition de mon premier script ColdFusion .... J'ai un formulaire qui a <input type="hidden" name="name" value="1">.ColdFusion, Définition d'une variable POST

Sur la page de traitement, je veux prendre cette valeur et la définir comme une variable POST afin que je puisse l'envoyer sur une autre page.

Je sais comment le faire en PHP, comme si

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

Comment puis-je faire cela dans les FC?

Répondre

0

Vous pouvez essayer cela en vérifiant si la variable de publication est définie et en la mémorisant avec la portée de FORM.

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

Vous n'avez besoin ni des signes dièse ni des guillemets: ''. –

1

La syntaxe ColdFusion est similaire. Les variables "Post" sont disponibles dans la structure du système FORM et les variables "Get" dans l'URL de la structure du système. Comme en PHP, les valeurs peuvent être accédées en utilisant la notation de tableau associatif. Vous pouvez également utiliser la notation des points (pour les noms de champs valides)

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

je veux prendre cette valeur et le mettre comme une variable POST afin que je puisse l'envoyer sur une autre page.

Je ne suis pas tout à fait sûr de ce que vous voulez dire là-bas. Généralement, vous n'avez pas besoin de réaffecter les valeurs FORM ou URL. Vous faites simplement référence à la variable dans votre code.

<cfoutput> 
    <a href="someOtherPage.cfm?name=#FORM.variableName#">Go To Other Page</a> 
</cfoutput> 
6

Après l'idiome dans votre code php, vous pouvez faire quelque chose comme ceci:

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

... ou, si cfscript:

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

Si vous êtes préoccupé par à propos de l'existence de la variable, vous pouvez précéder l'affectation avec <cfparam>:

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

... ou dans le script:

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

Bien sûr, vous pouvez également envelopper l'affectation dans une condition:

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

Tout cela pose la question de ce que vous essayez d'atteindre exactement avec cette approche.

Questions connexes