IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Coldfusion Discussion :

[Débutant] Test et redirection [Fait]


Sujet :

Coldfusion

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut [Débutant] Test et redirection
    Bonjour,

    Je débute en ColdFusion et je voudrai savoir si mon code est bon syntaxiquement et s'il fonctionne (je n'ai pas encore de quoi tester).

    Code ColdFusion : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <cfif isdefined("url.mygetvar") AND #url.mygetvar# eq 1>
    	<cfoutput>GET Var Ok</cfoutput>
    <cfelse>
    	<cflocation url="http://mywebsite.com?#cgi.QUERY_STRING#">
    </cfif>

    Code Algo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Si variable get mygetvar est défini et si mygetvar vaut 1 alors
    	Ecrire "GET Var Ok"
    Sinon
    	Rediriger vers http://mywebsite.com?[[Liste des paramètres GET]]
    Fin si

    Merci à tous !

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2006
    Messages : 84
    Par défaut
    Bonjour,

    alors si le but est de tester que la valeur url.mygetvar est existante et non vide, je préconiserai plus :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <cfif isdefined("url.mygetvar") AND #len(url.mygetvar)# gte 1>
    Ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <cfif isdefined("url.mygetvar") AND #url.mygetvar# neq "">
    Maintenant au niveau des #, j'ai lu quelque part que plus on en use plus CF devient lent, je préconiserai donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <cfif isdefined("url.mygetvar") AND len(url.mygetvar) gte 1>
    Après, je comprend pas vraiment l'objectif, peux-tu en dire un peu plus ?

  3. #3
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    Merci pour ta réponse rapide Chevalier.
    En fait, le but est de tester que le script est bien en place.
    Donc on passe un param qui vaut 1. On récupère alors la chaine répondu.
    Si c'est ok, c'est validé. Dans ce cas, le script peut être utilisé.
    Le but est alors de rediriger le visiteur sur une URL précise avec l'ensemble des paramètres GET passés.

  4. #4
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    Cher d-rek, ton code est correct (à part l'utilisation inutile de #).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <cfif isdefined("url.mygetvar") and url.mygetvar eq 1>
    	<cfoutput>GET Var Ok</cfoutput>
    <cfelse>
            <!---
              Dans ce cas # est nécessaire vu qu'on désire écrire la valeur de
              cgi.QUERY_STRING
            --->
    	<cflocation url="http://mywebsite.com?#cgi.QUERY_STRING#">
    </cfif>
    Je ne sais pas d'où vient cette pratique d'ajouter toujours des dièses partout dans le code CF. Je comprends que certains programmeurs disent de pas aimer CF à cause de sa syntaxe lourde....

    Chevalier à raison avec les #, l'exécution du code est ralentie.

  5. #5
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    Etant néophyte en CF, j'ai remarqué que pour faire un output d'une variable, il fallait l'entourer de dièses.. donc j'ai supposé qu'une variable devait toujours l'être..
    Mais c'est idiot car la fonction isdefined() ne l'applique pas et est un contre-exemple.

    En tout cas, merci pour ta réponse jowo.

  6. #6
    Membre chevronné Avatar de d-Rek
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2007
    Messages : 438
    Par défaut
    J'ai eu l'occasion d'essayer le script sur un serveur CF et mon soucis est que la redirection n'a pas lieu.
    Que je passe le paramètre mygetvar=1 ou non, il m'écrit "GET Var Ok".
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <cfif isdefined("url.mygetvar") and url.mygetvar eq 1>
    <cfoutput>GET Var Ok</cfoutput>
    <cfelse>
    <cflocation url="http://mywebsite.com?#cgi.QUERY_STRING#">
    </cfif>
    C'est comme sous Apache, il y a une configuration spéciale à modifier ?

Discussions similaires

  1. [débutant] test de primalité
    Par grand_prophete dans le forum C
    Réponses: 14
    Dernier message: 08/10/2006, 12h32
  2. [Débutant]Test d'ouverture d'un fichier.
    Par Lucky-94 dans le forum C
    Réponses: 10
    Dernier message: 23/08/2006, 17h21
  3. Réponses: 9
    Dernier message: 20/08/2006, 23h43
  4. [Mail] [Débutant] Test conditionnel
    Par pugnator dans le forum Langage
    Réponses: 10
    Dernier message: 18/07/2006, 10h46
  5. [débutant] test sur un évènement
    Par heider dans le forum Langage
    Réponses: 4
    Dernier message: 07/10/2005, 00h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo