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 :

[AJAX] Enregistrer le symbole +


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par défaut [AJAX] Enregistrer le symbole +
    Bonjour,

    Je n'arrive pas à enregistrer le symbole "+" dans MYSQL avec PHP... ça doit être tout con, que dois-je faire ?

    pour l'exemple ci-dessous, c'est la variable $description qui contient le signe "+".
    bien sûr j'ai passé cette variable avec htmlentities()...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $requete_insert = "INSERT INTO `gest_dev_taches` (`tache_id`,`tache_crea_date`,`tache_crea_user`,`tache_description`,`tache_priorite`,`tache_etat`,`tache_val`)
    VALUES ('',NOW( ),'$log_id','$description','$priorite','$etat','O')";
    et info super utile (et je crois que le problème vient de là), ces données sont postées en AJAX...


    merci !

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 699
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 699
    Par défaut
    Citation Envoyé par kryogen Voir le message
    Je n'arrive pas à enregistrer le symbole "+" dans MYSQL avec PHP... ça doit être tout con, que dois-je faire ?
    il se passe quoi pour le moment avec le code que tu as fait ?

  3. #3
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    C'est à mon avis un problème javascript.
    Essai encodeURIComponent() sur ta variable avant de l'envoyer en ajax.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre confirmé Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par défaut
    je viens d'essayer encodeURIComponent(), ça marche bien, mais le problème est qu'il encode également les caractères spéciaux et espaces... chiant pour traiter ça après en PHP...

  5. #5
    Membre confirmé Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par défaut
    Bon j'ai résolu le problème (plus autre problème avec signe €)

    côté AJAX (JAVASCRIPT) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function traiter_plus(texte)
    {
    texte = texte.replace('+','+');
    return texte;
    }
    côté PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function traiter_texte($texte)
    {
    $texte = str_replace('%u20AC','€',$texte);
    $texte = str_replace('+','+',$texte);
    $texte = htmlentities($texte, ENT_QUOTES,'iso-8859-1');
    return $texte;
    }
    En attendant mieux...

  6. #6
    Membre confirmé Avatar de kryogen
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 140
    Par défaut
    oups désolé, il est vrai qu'en JavaScript, la fonction replace ne le fait qu'une seule fois.
    Donc, grâce à l'excellent site :
    http://kevin.vanzonneveld.net/techbl...s_str_replace/

    cela nous donne pour le côté JavaScript :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
    ///////////////////////////////////////////////
    // traiter les signes + dans AJAX /////////////
    ///////////////////////////////////////////////
     
    function str_replace(search, replace, subject, count) {
        // http://kevin.vanzonneveld.net
        // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
        // +   improved by: Gabriel Paderni
        // +   improved by: Philip Peterson
        // +   improved by: Simon Willison (http://simonwillison.net)
        // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
        // +   bugfixed by: Anton Ongson
        // +      input by: Onno Marsman
        // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
        // +    tweaked by: Onno Marsman
        // +      input by: Brett Zamir (http://brett-zamir.me)
        // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
        // +   input by: Oleg Eremeev
        // +   improved by: Brett Zamir (http://brett-zamir.me)
        // +   bugfixed by: Oleg Eremeev
        // %          note 1: The count parameter must be passed as a string in order
        // %          note 1:  to find a global variable in which the result will be given
        // *     example 1: str_replace(' ', '.', 'Kevin van Zonneveld');
        // *     returns 1: 'Kevin.van.Zonneveld'
        // *     example 2: str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
        // *     returns 2: 'hemmo, mars'
     
        var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
                f = [].concat(search),
                r = [].concat(replace),
                s = subject,
                ra = r instanceof Array, sa = s instanceof Array;
        s = [].concat(s);
        if (count) {
            this.window[count] = 0;
        }
     
        for (i=0, sl=s.length; i < sl; i++) {
            if (s[i] === '') {
                continue;
            }
            for (j=0, fl=f.length; j < fl; j++) {
                temp = s[i]+'';
                repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
                s[i] = (temp).split(f[j]).join(repl);
                if (count && s[i] !== temp) {
                    this.window[count] += (temp.length-s[i].length)/f[j].length;}
            }
        }
        return sa ? s : s[0];
    }
     
    function traiter_plus(texte)
    {
     
    texte = str_replace('+','&plus;',texte);
    return texte;
    }
    ++

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/09/2010, 15h46
  2. [AJAX] Ajax enregistrement signe "+"
    Par tulipe44 dans le forum AJAX
    Réponses: 3
    Dernier message: 19/10/2009, 19h14
  3. [AJAX] Supprimer un enregistrement
    Par linar009 dans le forum Général JavaScript
    Réponses: 26
    Dernier message: 02/08/2006, 15h48
  4. [AJAX] Ajax et le symbole €
    Par Bibicmoi dans le forum Général JavaScript
    Réponses: 24
    Dernier message: 01/07/2006, 16h15
  5. [AJAX] Enregistrer un flux XML
    Par Bissada dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 26/06/2006, 17h52

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