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 :

Valeur dans une session automatiquement mise en addslash


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 39
    Points : 29
    Points
    29
    Par défaut Valeur dans une session automatiquement mise en addslash
    Salut tout le monde,
    Voila je stocke dans une session la valeur d'un champs que saisi l'utilisateur (une phrase saisie par input) mais lorsque je reinitialise l'input en y sockant la valeur de la session j'obtiens une chaine traitée par addslash on dirait (les / apparraissent ) ...

    J'ai essayé de mettre addslash(...) lorsque je le stocke dans la var de session et a l'affichage de mettre stripslash .. mais sans succés ..

    si vous aviez des idees
    merciii

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Il est probable que dans php.ini magic_quote_gpc soit à ON. Php échappe donc automatiquement certains caractères dangereux.
    Comment faire :
    1) Teste si magic_quote_gpc est à ON avec la fonction get_magic_quote_gpc().
    2) Si c'est le cas, donne un coup de stripslash(), puis un coup de htmlentities() (pour éviter les attaques XSS).
    3) Stocke en session.
    4) Utilise la donnée de session telle quelle pour affichage.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Ok ... merci pour ta réponse si rapide .. je vais tester tout ca alors

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    Tu avais raison magic_quote_gpc est bien a ON par contre en faisant la manip que tu m'as conseillé l'affichage est correcte mais coupé...
    Exemple si je mets " gdsg ' fsqfsq" alors j'obtiens dans le input "gdsg "
    PAr contre aucun probleme dans le textarea ...
    Je continue de chercher ..

    La page ou la session est initialisée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['formPartage_sujet'] = htmlentities(stripslashes($sujet));	
    $_SESSION['formPartage_description'] = htmlentities(stripslashes($description));
    Le formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <textarea cols="57" rows="4" name="description"><?php if (isset($_SESSION['formPartage_description'])) echo $_SESSION['formPartage_description']; ?></textarea>
     
    <input name='sujet' type='text' value='<?php if (isset($_SESSION['formPartage_sujet'])) echo $_SESSION['formPartage_sujet']; ?>' size='60' maxlength='100' />

  5. #5
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    1) Tu dois utiliser des doubles quotes pour les attributs dans ton html (c'est une obligation dans le XHTML) => cela résoudra ton problème avec les apostrophes.
    2) Pour gérer les simple quotes et les doubles quotes dans ton input, utilise la constante ENT_QUOTES dans htmlentities.

    Propositions de correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_SESSION['formPartage_sujet'] = htmlentities(stripslashes($sujet), ENT_QUOTES);	
    $_SESSION['formPartage_description'] = htmlentities(stripslashes($description), ENT_QUOTES);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="sujet" type="text" value="<?php if (isset($_SESSION['formPartage_sujet'])) echo $_SESSION['formPartage_sujet']; ?>" size="60" maxlength="100" />

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 39
    Points : 29
    Points
    29
    Par défaut
    C'est bon ca marche ..
    je te remercie pour ton aide ..

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    N'oublie pas le tag

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

Discussions similaires

  1. Définir une valeur dans une session
    Par awalter1 dans le forum Administration
    Réponses: 2
    Dernier message: 18/06/2012, 12h13
  2. Réponses: 2
    Dernier message: 27/02/2008, 13h32
  3. [VBA-E]Mise en place de 2 valeurs dans une meme cellule
    Par baptbapt dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/08/2006, 15h06
  4. Valeur d'une variable dans une Session
    Par sysinfo33 dans le forum Struts 1
    Réponses: 4
    Dernier message: 30/06/2006, 11h53
  5. Réponses: 2
    Dernier message: 28/03/2006, 11h45

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