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

Langage PHP Discussion :

[PHP-JS] Comment passer en GET un argument qui commence par "+" ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut [PHP-JS] Comment passer en GET un argument qui commence par "+" ?
    Bonjour

    Dans mon application, j'ai un formulaire où l'utilisateur entre un nom de client. Je récupère ensuite ce nom de client dans la variable $_GET['sel']. Seulement, certains clients sont spéciaux et ont un nom qui commence par le caractère "+".
    Conséquence, mon url ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://monsite/index.php?sel=+toto
    Problème : php interprète cette url comme possédant 2 variables "sel" et "toto", vides !
    J'ai essayé de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://cb55676/trader/index.php?sel='+toto'
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://cb55676/trader/index.php?sel="+toto"
    , ca ne résout pas le problème.

    Je pensais convertir le "+" en son code html, mais ca n'est pas très pratique. Quelqu'un a-t-il une autre idée ?

    Merci

  2. #2
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Interdit tout simplement les noms de clients contenant des caractères démoniaques et le tour est joué !

    Faut pas se laisser marcher dessus par les clients non plus
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  3. #3
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Par défaut
    Si je le pouvais, tu penses bien que ce serait déjà le cas !

  4. #4
    Membre Expert
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Par défaut
    Bon ben reviens sur ta 1ère idée de convertir en html c'est pas bien compliqué, un coup de htmlentities sur ton get et le tour est joué
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  5. #5
    Membre très actif
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Turquie

    Informations forums :
    Inscription : Avril 2005
    Messages : 614
    Par défaut
    tu ne peux pas utiliser le $_POST ?

  6. #6
    Membre éclairé
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Par défaut
    Il y a des fonctions faites pour cela:
    Url Encode

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Par défaut
    Qui crée l'url ? Le client ou le serveur ? Si c'est le serveur, effectivement la fonction proposée au dessus sera très utile. Si c'est le client, les formulaires sont normalement automatiquement encodés pour changer le + en sa "spécialisation", si l'url est crée par javascript, il y a également des fonctions javascript uri encode, uri encode component, etc. dont c'est exactement le rôle.

    Il ne faut pas utiliser d'entités html dans l'url. L'entité de plus dans l'url n'aurait aucun sens. Dans l'url on encode les signes réservés ( : / + & = ? etc.) qui ont un sens dans l'url par un équivalent utilisant leur code ascii : %26 pour un & parce que 0x26 (38 en décimal) est le code ASCII du caractère &.

Discussions similaires

  1. [XL-2000] Comment faire pour distinguer les cellules qui commencent par
    Par Avinetor dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/06/2009, 14h36
  2. comment passer un string en argument
    Par maxim2007 dans le forum C++
    Réponses: 2
    Dernier message: 23/11/2007, 02h08
  3. Comment passer des valeurs en arguments
    Par remi77 dans le forum Excel
    Réponses: 6
    Dernier message: 13/03/2007, 11h54
  4. [PHP-JS] Comment passer une variable PHP en vbscript
    Par minette dans le forum Langage
    Réponses: 1
    Dernier message: 10/08/2006, 23h54
  5. Comment passer une fonction en argument
    Par Pades75 dans le forum Langage
    Réponses: 4
    Dernier message: 16/02/2006, 10h34

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