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 :

chaîne de caractère avec '#'


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Par défaut chaîne de caractère avec '#'
    Bonjour,

    Je voudrais transmettre d'une page php à une autre (disons de page1.php à page2.php) une variable de type chaîne de caractère, commençant par un caractère dièse #
    Le problème c'est que ce caractère ne passe pas tel quel.
    J'utilise donc les fonctions serialize et unserialize. Mais dans ce cas ma variable est vide.
    Voici mes codes:
    Page1.php:
    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
    ...
    $form_couleur1="<input type=\"text\" name=\"couleur1\" size=12 maxlength=12 value=\"\">&nbsp;<input type=\"button\" value=\"choisir une couleur\" onClick=\"choisirCouleur(this.form, 'couleur1')\"><br>";
     
    $form_couleur2="<input type=\"text\" name=\"couleur2\" size=12 maxlength=12 value=\"\">&nbsp;<input type=\"button\" value=\"choisir une couleur\" onClick=\"choisirCouleur(this.form, 'couleur2')\"><br>";
     
    $form_couleur3="<input type=\"text\" name=\"couleur3\" size=12 maxlength=12 value=\"\">&nbsp;<input type=\"button\" value=\"choisir une couleur\" onClick=\"choisirCouleur(this.form, 'couleur3')\"><br>";
     
    $form_couleur4="<input type=\"text\" name=\"couleur4\" size=12 maxlength=12 value=\"\">&nbsp;<input type=\"button\" value=\"choisir une couleur\" onClick=\"choisirCouleur(this.form, 'couleur4')\"><br>";
    ...
    <form id="form1" name="form1" method="post" action="<?=$PHP_SELF ?>">
     
    <table width="300" border="1" align="center">
          <tr>
            <th colspan="2" scope="col"><label>Couleurs</label></th>
          </tr>
          <tr>
            <th width="191" scope="col">Fond</th>
            <th width="93" scope="col"><?=$form_couleur1?></th>
          </tr>
          <tr>
            <th scope="col">Texte</th>
            <th scope="col"><?=$form_couleur2?></th>
          </tr>
          <tr>
            <th scope="col">Fond survol&eacute; </th>
            <th scope="col"><?=$form_couleur3?></th>
          </tr>
          <tr>
            <th scope="col">Texte s&eacute;lectionn&eacute; </th>
            <th scope="col"><?=$form_couleur4?></th>
          </tr>
          <tr>
            <th scope="col">&nbsp;</th>
            <th scope="col">&nbsp;</th>
          </tr>
    </table>
    </form>
    ...
    $couleur1 = serialize($_POST['couleur1']);
    $couleur2 = serialize($_POST['couleur2']);
    $couleur3 = serialize($_POST['couleur3']);
    $couleur4 = serialize($_POST['couleur4']);
    header("Location: page2.php?couleur1=".$couleur1."&couleur2=".$couleur2."&couleur3=".$couleur3."&couleur4=".$couleur4);
     
    ...
    Page2.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ...	
    $couleur1 = unserialize($_GET['couleur1']);
    $couleur2 = unserialize($_GET['couleur2']);
    $couleur3 = unserialize($_GET['couleur3']);
    $couleur4 = unserialize($_GET['couleur4']);
    echo"couleur1 = $couleur1\n";
    ...
    Si je ne mets pas de fonction serialize et unserialize et que j'utilise des chaine de caractère sans # cela fonctionne bien et page2.php m'affiche bien la valeur de la variable couleur1.
    Si j'utilise serialize sans unserialize j'obtiens des caractères incompréhensible (exemple: #4949FF saisie dans page1.php est affiché dans page2.php sous la forme: s:7:\"

    Bref, quelqu'un a-t-il une idée pour pouvoir transmettre cette chaine d'une page à l'autre par un get ou un post de manière à ce que le caractère # ne soit pas interprété par php (enfin je suppose que c'est son interprétation qui générent ces problèmes).

    Merci.

  2. #2
    Rédacteur
    Avatar de BrYs
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 014
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 014

  3. #3
    Membre émérite Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Par défaut
    Ou avec htmlentities() pour encoder et hml_entity_decode() pour decoder

  4. #4
    Membre éclairé Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Par défaut
    Avec urlencode et urldecode c'est nickel.

    Merci.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/01/2008, 23h17
  2. [FAQ] Comment tester une chaîne de caractères avec une expression régulière ?
    Par Baptiste Wicht dans le forum Vos Contributions VBScript
    Réponses: 1
    Dernier message: 20/11/2007, 19h43
  3. Extraction d'une chaîne de caractère avec SQL
    Par opeo dans le forum MS SQL Server
    Réponses: 13
    Dernier message: 28/07/2006, 15h36
  4. Réponses: 3
    Dernier message: 16/03/2006, 16h44
  5. [RegEx] chaîne de caractères avec caractères spéciaux
    Par Kerod dans le forum Langage
    Réponses: 9
    Dernier message: 25/12/2005, 01h40

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