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 :

Eviter les espacements dans les variables [PDO]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Homme Profil pro
    visual basic, Java et PHP
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : visual basic, Java et PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Eviter les espacements dans les variables
    salut à tous
    J'ai un grand soucis, avant quand nous utilisons PHP, on mettait la fonction trim() pour éviter les espacements devant et après les mots.
    alors qu'avec les requêtes préparés de PDO je n'arrive pas à faire cela.
    Et si on insère les données rien qu'avec les espacements cela s'enregistre dans la base des données.

    Si quelqu'un a une solution à cela, merci de m'indiquer ou de me donner une solution.

    Merci

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    continue à utiliser trim() avec PDO au moment où tu passes via execute() ou rattaches les valeurs (via bindXXX()) à ta ressource.

  3. #3
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $sql = "
    	SELECT des, colonnes
    	FROM une_table
    	WHERE une_colonne = :une_valeur
    ";
     
    $prep = $conn_BD->prepare($sql);
     
    $prep->bindParam(':une_valeur', trim($la_valeur), PDO::PARAM_STR);
     
    $result = $prep->execute();
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Futur Membre du Club
    Homme Profil pro
    visual basic, Java et PHP
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : visual basic, Java et PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Merci pour vos contribution
    Mais mon problème est plus quand je veux enregistrer les données dans la base, les données vides sont enregistrer et j'aimerais que avant enregistrement que je puisse avoir un message disant que le contenu est vide (cas où on utilise que les espacements).

    Voici mon bout de code

    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
     
     
    			$req=$pdo->prepare('INSERT INTO XXX SET cle=?,titre=?,auteur=?,type=?,resume=?,anne=?,fichier=?,lieu=?,email=?,telephone=?,valide=?,datepost=?,ip=?'); 
    			$req->execute(array(
                                $cle,
                                trim($_POST['titre']), 
                                trim($_POST['auteur']), 
                                trim($_POST['type']), 
                                trim($_POST['resume']), 
                                trim($_POST['anne']), 
                                $file_name, 
                                trim($_POST['lieu']), 
                                trim($_POST['email']),  
                                trim($_POST['telephone']),
                                $valid,
                                $dato,
                                $ip));
    Mais cela accepte toujours les valeurs vide ...

    comment palier à cela même dans le niveau de vérifier les valeurs vide

    comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
            if(empty($_POST['XXX']))
             {
                echo'<div class="alert alert-warning">'.$errors['xxx']="message pour bien arranger ..." .'</div>';
                echo '<br/>';
            }
    Merci à vous !

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1-
    Citation Envoyé par theomaf Voir le message
    ...Mais cela accepte toujours les valeurs vide ...
    Ca n'a RIEN à voir avec la question initiale.

    Là, on parle de GESTION d'ERREUR : à faire AVANT la requête.
    Exemple : champs obligatoires, validité d'un email,...
    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
    // 1- GESTION d'ERREUR
      $erreurs = array;
    if( empty(trim($_POST['titre'])) )
    {
      $erreurs[] = 'Ajoutez un titre';
    }
    // ..........
    // ..........
    // 2- TRAITEMENT
    if( empty($erreurs) ) // PAS d'erreur
    {
       // on fait la requete
       // ..........
    } else { // on affiche les erreurs
      echo 'Erreurs : ' . implode('<br />', $erreurs);
    }

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'INSERT INTO XXX SET cle=?,titre=?,auteur=?,type=?,resume=?,anne=?,fichier=?,lieu=?,email=?,telephone=?,valide=?,datepost=?,ip=?'
    Tu as mélangé les syntaxes pour UPDATE et pour INSERT !


  6. #6
    Futur Membre du Club
    Homme Profil pro
    visual basic, Java et PHP
    Inscrit en
    Avril 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : visual basic, Java et PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Ok
    Merci jreaux62, CinePhil, rawsrc pour vos contribution

    cela marche bien ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(empty(trim($_POST['titre'])))

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

Discussions similaires

  1. Comment négliger les espaces dans une variable
    Par mathinfo11 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 28/04/2016, 19h50
  2. [Batch] Supprimer les espaces dans une variabl de type integer
    Par DelNC dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 05/01/2016, 05h16
  3. Supprimer les espaces dans une variable
    Par anas.eh dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 18/08/2008, 17h19
  4. supprimer les espaces dans une variable
    Par dams78 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 10/12/2007, 23h02
  5. Prendre en compte les espaces dans les filtres
    Par Ekinoks dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 03/11/2006, 02h57

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