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

PHP & Base de données Discussion :

preg_replace qui pose probleme [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté Avatar de Stopher
    Homme Profil pro
    Responsable technique
    Inscrit en
    Juin 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 198
    Par défaut preg_replace qui pose probleme
    Bonjour à tous ,

    voilà une insertion dans une BD qui me pose problème , pourtant , on ne peut pas plus simple ...

    le but est d'enlever les espaces dans les numéros de tel et de fax .
    j'utilise donc un simple preg_replace('/[[:space:]]/','',$_POST['telephone']);

    mais cette fonction me fait planter la requête

    par contre , si je ne met pas d'espace dans le num de tel , c'est ok ca passe ...

    J'avoue ne plus trop comprendre d'ou peut venir le problème ...

    voici le bout de code test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
     
     
    $telephone = preg_replace('/[[:space:]]/','',$_POST['telephone']); 
    $fax = preg_replace('/[[:space:]]/','',$_POST['fax']);
     
     
    $requete = 'INSERT INTO entreprise
     (nom_ent,adresse,adresse2,cp,ville,pays,activite,telephone,fax,email,site_internet)
        VALUES (
        \''.$nom_ent.'\',
        \''.$adresse.'\',
        \''.$adresse2.'\',
        \''.$codepostal.'\',
        \''.$ville.'\',
        \''.$_POST['pays'].'\',
        \''.$activite.'\',
        \''.$telephone.'\',
        \''.$fax.'\',
        \''.$_POST['email'].'\',
        \''.$site.'\')';
     
        $res = mysql_query($requete)or die(mysql_error());
    Merci d'avance pour votre aide ...

    Cordialement ,
    Christophe.

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Citation Envoyé par Stopher
    mais cette fonction me fait planter la requête
    Oui, c'est à dire ? Quelle est la requête exécutée ? Quel est le message d'erreur ?

    Cela dit pourquoi ne pas avoir utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fax = preg_replace('/[^\d]/', '', $_POST['fax']);
    Pour éviter certaines problèmes (injections SQL dont vos autres champs ne sont pas vraisemblablement protégés).

  3. #3
    Membre expérimenté Avatar de Stopher
    Homme Profil pro
    Responsable technique
    Inscrit en
    Juin 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 198
    Par défaut
    Voici la requete :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO entreprise (nom_ent,adresse,adresse2,cp,ville,pays,activite,telephone,fax,email,site_internet) VALUES ( 'ENTREPRISE', 'adresse1', 'adresse2', '59130', 'LAMBERSART', 'FRANCE', 'TESt', '0303040505', '1234123454', 'toto@titi.com', 'http://google.com')
    Et le message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    Et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $fax = preg_replace('/[^\d]/', '', $_POST['fax']);
    donne la meme erreur ...

    En effet rien n'est fait contre les injections sql , mais j'ai retiré tout traitement afin de trouver plus facilement d'ou vient l'erreur ...

  4. #4
    Membre expérimenté Avatar de Stopher
    Homme Profil pro
    Responsable technique
    Inscrit en
    Juin 2004
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Responsable technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 198
    Par défaut
    Ok ,
    tout d'abord , désolé , car l'erreur venait d'ailleurs ,
    en effet , une autre petite requete traînait un peut plus loin dans mon script .. de ce fait je ne regardais pas celle qui posait problème ...

    Autant de temps perdu pour si peut ... au moins maintenant j'identifie ma requete dans les messages d'erreurs ... :-)

    Merci à toi julp et désolé d'avoir fait perdre ton temps

    Christophe.

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

Discussions similaires

  1. menu qui pose probleme avec ie
    Par poullot dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 22/03/2012, 20h26
  2. Réponses: 6
    Dernier message: 08/07/2010, 23h04
  3. une seule et uniqe variable qui pose probleme alors que pas les autres!
    Par guiguizekid dans le forum Général Python
    Réponses: 3
    Dernier message: 16/05/2008, 08h27
  4. calcul d'un champ qui pose probleme
    Par EGSway dans le forum IHM
    Réponses: 9
    Dernier message: 28/06/2007, 18h26
  5. SpinEdit OnChange qui pose probleme.
    Par starkson dans le forum Delphi
    Réponses: 3
    Dernier message: 03/09/2006, 00h45

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