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 :

Caractéres spéciaux et formulaire


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 110
    Points : 64
    Points
    64
    Par défaut Caractéres spéciaux et formulaire
    Bonjour,

    J'ai un formulaire avec un champ de text libre représentant un nom de répertoire.
    L'utilisateur saisit la chaine "c:\" (sans les guillemets), lorsque je récupére (via un $_POST['repertoire']) ma chaine de caratere devient "c:\\" (sans les guillemets) NB: il y a deux caractere "\" )

    Comment faire pour recuperer ma chaine de caractere sans cette transformation ?

    NB : mon objectif est bien sur de sauvegarder ce champ en base de données ORACLE.

    Une idée ?
    Merci

    Je debute en php : indulgence SVP.

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Tu dois avoir l'option magic_quotes_gpc activée dans le php.ini.
    Soit tu as accès au php.ini et tu remplaces le on par un off, soit lorsque tu récupères ton champ tu appliques la fonction stripslashes.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 110
    Points : 64
    Points
    64
    Par défaut
    Merci Ratapapapour ta réponse, je comprends mieux maintenant d'ou proviennent les deux "\".
    Cependant mon probléme n'est pas résolu, car il est impossible d'inserer en base de données oracle la chaine de caractére "c:\" (sans les doubles guillemets).

    la requete envoyée via php est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into unvolume (id_site,id_mac,chemin,type_disk,volume_tot,volume_used,derniere_maj,type_donnees,pct_affect_dsv,statut_chemin,mode_maj) values (1 , 109 , 'c:\' , 'toto' , 5 , 4 , to_date('07-11-2007','DD/MM/YYYY') , 'bdd' , 5 , 'ACTIF' , 'A')
    Sous TOAD ceci fonctionne, mais pas via PHP : une erreur ORA-00917 : missing comma se produit !!

    En clair je veux pouvoir via mon programme php inserer dans une table ORACLE la chaine de caractére "c:\" (sans les doubles guillemets).

    Quelqu'un aurait une idée ? merci d'avance

    NB : je ne peux pas modifier le fichier php.ini (d'autres application tourne sur le serveur).

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    De mémoire oracle utilise la même méthode pour échapper des caractères, à savoir grâce au caractère \.

    Si tu ne veux pas que ton \ soit interprété le caractère d'échappement, il faut que tu conserves l'écriture \\ qui permet de considérer au SGBD que c'est bien le caractère \ que tu cherches à insérer.

    A confirmer cependant.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 110
    Points : 64
    Points
    64
    Par défaut
    Merci pour vos réponses.

    Le probléme posé est un faux probléme (erreur d'analyse), une fonction modifier la chaine de caractére avant l'insert et ajoutait les '\'.

    Désolé pour le déranagement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Caractère spéciaux via formulaire mail
    Par Mangaku dans le forum Langage
    Réponses: 9
    Dernier message: 04/12/2014, 15h43
  2. problème de caractères spéciaux dans formulaire
    Par jules_29 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 26/12/2007, 10h15
  3. caractères spéciaux et formulaire.
    Par Empty_body dans le forum Langage
    Réponses: 1
    Dernier message: 10/06/2007, 22h16
  4. Réponses: 10
    Dernier message: 31/03/2006, 20h46
  5. Réponses: 3
    Dernier message: 27/11/2004, 16h23

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