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 :

Ajout d'un antislash automatiquement lors d'un insert


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 119
    Par défaut Ajout d'un antislash automatiquement lors d'un insert
    Bonjour,

    Je me retrouve face à un probleme :/
    Lorsque l'utilisateur saisi un caractère spécial comme le quote, un antislash est mis automatiquement devant.

    Exemple : L'abricot devient L\'abricot

    Avez une solution pour résoudre ce problème?
    J'aimerai une solution autre que rajouter stripslashes() car le rajouter à chaque fois qu'on veux afficher le champ c'est assez ennuyant

    Voici le 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
    $sql = "insert into boite_messages (auteur, objet, idJoueur, lu, contenu, date, heure) values (:auteur, :objet, :idJoueur, 0, :contenu, :date, :heure)";
     
    $stmt = $dbh->prepare($sql);
    $valeurs = array(
                ':auteur' => $_SESSION['id'],
                ':objet' => $_POST['titre'],
    			':idJoueur' => $idJ,
    			':contenu' => $_POST['contenu'],
    			':date' => date("Y-m-d"),
    			':heure' => date("H:i"));
     
    if (!$query = $stmt->execute($valeurs)) 
    {
            echo mysql_error();
    }

    Je vous remercie

  2. #2
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    Bonsoir,

    Addslashes
    Stripslashes

    A moins que tu ne veuilles t'embêter avec un str_replace()
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Desactive les magic_quotes
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    A savoir qu'il te faudra faire attention...

    Si la personne saisie une simple ou double quote dans son texte, il pourra couper ta requête php et ensuite insuffler le code qu'il souhaite...
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    il pourra couper ta requête php
    Pas sur une requete preparée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 119
    Par défaut
    Merci pour réponses

    Jpense pas que le code suivant résoudrait mon probleme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $valeurs = array(
                ':auteur' => $_SESSION['id'],
                ':objet' => stripslashes($_POST['titre']),
    			':idJoueur' => $idJ,
    			':contenu' => stripslashes($_POST['contenu']),
    			':date' => date("Y-m-d"),
    			':heure' => date("H:i"));

    Donc le problème avec le Stripslashes, c'est qu'il faudrait l'utiliser a chaque fois que je voudrais afficher un champs :/

    Si tu es certain de ce que tu avances Sabotage, je vais suivre ton idée qui me parait la plus rapide ^^

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

Discussions similaires

  1. Redimensionner une image automatiquement lors de l'ajout ?
    Par polux31 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/05/2011, 13h23
  2. [AC-2007] comment inserer un champ automatique lors de l execution de la requête d ajout?
    Par jalal_1985 dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 09/05/2011, 17h53
  3. Réponses: 1
    Dernier message: 02/06/2010, 11h39
  4. [1.x] Ajout automatique lors de la création d'une ligne
    Par Dash777 dans le forum Symfony
    Réponses: 3
    Dernier message: 07/05/2010, 17h10
  5. Réponses: 6
    Dernier message: 08/10/2009, 15h07

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