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 :

Enlever les antislashes ajoutés par $_post


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 37
    Points
    37
    Par défaut Enlever les antislashes ajoutés par $_post
    bonjour,
    j'ai un probleme avec une chaine de caractere qui contien une apostroffe,
    cette chane doit transiter apr 3 pages (avec la method post),chaque fois recuperer par $_post.
    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine=c'est une fomule d'abonnemen
    dans la 2eme page elle apparait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c/'est une fomule d/'abonnemen
    dans la 3eme page ellle apparait
    quelqu'un peut me donner la solution pour que dans la 2eme page je recupere la chaine comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c/'est une fomule d/'abonnemen
    merci

  2. #2
    Expert éminent sénior

    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
    Points : 17 777
    Points
    17 777
    Par défaut
    Désactivez la fonctionnalité magic_quotes_gpc de PHP (valeur Off) si vous avez accès au fichier php.ini ou à l'aide d'un fichier .htaccess sinon utilisez la fonction stripslashes (à chaque script).

    Faites une recherche à partir de ces éléments si vous souhaitez de plus amples informations

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    merci de votre reponse,
    j'ai utilisé stripslashes(), dans la 2eme page ,j'ai afficher le resultat,c bon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c'est une fomule d'abonnemen
    .
    mais le pb et lors du passage de la 2eme a la 3eme la phrase devient
    S.O.S

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    45
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 45
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $chaine = stripslashes($_POST['chaine']);

    et pour mieu faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (get_magic_quotes_gpc()) {
      $chaine = stripslashes($_POST['chaine']);
    } else {
      $chaine = $_POST['chaine'];
    };
    mais attention aux sql inject
    la valeur de $chaine ne doit pas etre passé a une requete sql sans utiliser mysql_real_escape_string() (ou équivalent)

    Cordialement,

  5. #5
    Expert éminent sénior

    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
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par etud_ini
    mais le pb et lors du passage de la 2eme a la 3eme la phrase devient
    N'utiliseriez-vous pas le caractère apostrophe (') comme délimiteurs de l'attribut value de vos champs de formulaire input ? Si oui, orientez-vous vers la fonction htmlentities (valeur du deuxième paramètre : ENT_QUOTES) pour y (re)placer vos valeurs.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    bonjour,
    merci julp pour votre assistance.
    effectivement j'utilise le caractère apostrophe ('),j'ai utilisé la fonction: htmlentities,mais ca n'a rien donné.
    voici mon code
    dans la page une:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo"<tr><td>description</td><td><textarea name='descr' cols='30' rows='4'></textarea></td></tr>"
    la 2eme page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	$descr=$_POST["descr"];
    	$descr=htmlentities($descr);
                 echo "<input type='hidden' name='descr' value='$descr'>";
    et dans la 3eme page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $descr=$_POST["descr"];
    les resultat de debogage
    dans la premiere page :je saisie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c'est une formule d'abonnement
    la 2eme page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c\'est une formule d\'abonnement
    la 3eme
    merci de votre aide

  7. #7
    Expert éminent sénior

    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
    Points : 17 777
    Points
    17 777
    Par défaut
    Citation Envoyé par julp
    orientez-vous vers la fonction htmlentities (valeur du deuxième paramètre : ENT_QUOTES) pour y (re)placer vos valeurs
    Et où est ce paramètre ? Il est important sinon je ne l'aurais pas mentionné : le comportement normal de la fonction, si vous regardez la doc, est de ne pas convertir les guillemets simples. Sinon vous pouvez aussi changer le délimiteur de vos attributs.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    rebonjour,
    j'ai utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $descr=$_POST["descr"];
    	$descr=htmlentities($descr,ENT_QUOTES);
    dans la deuxieme page et ca donné
    comment changer le délimiteur de mes attributs, dans l'exemple que je vous y donné SVP
    merci

  9. #9
    Expert éminent sénior

    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
    Points : 17 777
    Points
    17 777
    Par défaut
    Parce que vous n'en avez plus là j'imagine. Voilà pour votre demande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="hidden" name="descr" value="' . htmlentities(stripslashes($_POST['descr'])) . '" />';

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 59
    Points : 37
    Points
    37
    Par défaut
    merci infiniment

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

Discussions similaires

  1. [Drupal] Supprimer les balises ajoutées
    Par devwebmedia dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 26/04/2012, 18h27
  2. Réponses: 3
    Dernier message: 12/03/2012, 08h26
  3. Réponses: 4
    Dernier message: 02/05/2011, 01h07
  4. [Oracle] enlever les warning provoqués par une requête echouée
    Par teen6517 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 01/03/2007, 14h47

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