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 :

Pb variable de type hidden


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut Pb variable de type hidden
    Bonjour,

    J'ai fait un formulaire tout simple pour faire passer une variable a une autre page. Cette variable contient un long texte ( tout le contenu d'une page internet en fait ), donc il peut y avoir des accents, des guillemets etc... Le problème c'est que sur chaque formulaire contenant cette variable, celle ci s'affiche sur la page, juste avant le bouton submit du formulaire.... Ca doit etre un problème tout simple mais je reste bloqué dessus depuis un bon moment deja.
    Voici le code :

    page edit.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <form name="apercu" action="apercu.php" method="post" >
    <input type="hidden" name="content" value="<?php echo $content; ?>" />
    <input type="submit" name="preview" value="preview">
    </form>
    Sur cette page devrai etre affichée seulement le bouton submit 'preview', mais le probleme c'est que avant le submit le contenu de $content est affiché...

    page apercu.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
     
    ...
    $content = $_POST['content'] ;
    ...
    //Si on veut encore modifier, bouton retour cancel
    <form action='edit.php' method='post'>
    <input type='hidden' name='content' value="<?php echo $content; ?>">
    <input type='submit' value='Cancel' style='position: relative; left: 1px; top: 1px;'>
    </form>
     
    //sinon on envoit a administration pour sauvegarder la variable dans la base de donnée.
    <form action='administration.php' method='post'>
    <input type='hidden' name='content' value="<?php echo $content; ?>">
    <input type='submit' value='Accept' >
    </form>");
    Sur la page apercu, j'ai le meme probleme : la variable de type hidden s'affiche dans les 2 formulaires et partiellement en plus !.... je suppose que c'est a cause des guillemets qui se trouve a linterieur de la variable qui font buggé l'affichage.
    Bref le truc c'est que je le veux pas moi cette affichage, je le fait plus tard, pas avant ce bouton foireux de submit !
    Ma syntaxe est elle correcte ?

  2. #2
    Membre chevronné
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Par défaut
    Salut,

    pour éviter ce genre de soucis, je mettrais plutot cette variable dans une session.
    Si jamais, pour une raison quelconque, tu ne peux le faire, alors la fonction à utiliser est htmlentities, afin d'encoder les caractères comme les guillemets.
    Donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="hidden" ..... value="<?=htmlentities($content)?>" />

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 201
    Par défaut
    Salut, moi aussi je ferai un traitement sur cette variable et je le mettrai en session pour etre tranquille, je pense que tu dois pouvoir le faire sans trop de problème

  4. #4
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    J'ai bien testé ta fonction qui m'avait l'air super mais ca ne marche toujours pas.
    Sur ma page preview, il y a toujours affiché :

    //valeur de $content de type hidden ( donc pas censé etre affiché ) ------------------------------------
    "Usine du monde", le Commerce et les échanges interrégionaux se sont
    développés rapidement ces dix dernières années.
    D'énormes opportunités sont apparues et la qualité de production
    s'améliorent de jours en jours.
    Cependant de sérieux risques et contraintes demeurent toujours lorsqu'on
    établit des rapports commerciaux avec cette zone.
    L'objectif de Cocoon Group est de s'assurer que ses clients bénéficient de tout
    ce que la Chine a à apporter sans avoir à se soucier des ces contraintes.
    )' />

    Le bouton accept du formulaire aparait ici
    BOUTON ACCEPT
    --------------------------------------------------------------------------

    Et mon vrai content aparait maintenant ( ca marche nikel, pas d'erreur ):

    Conséquence de l'émergence de la Chine en tant que superpuissance et
    "Usine du monde", le Commerce et les échanges interrégionaux se sont
    développés rapidement ces dix dernières années.
    D'énormes opportunités sont apparues et la qualité de production
    s'améliorent de jours en jours.
    Cependant de sérieux risques et contraintes demeurent toujours lorsqu'on
    établit des rapports commerciaux avec cette zone.
    L'objectif de Cocoon Group est de s'assurer que ses clients bénéficient de tout
    ce que la Chine a à apporter sans avoir à se soucier des ces contraintes.
    -------------------------------------------

    Je suis sur que c'est une erreur de syntaxe, mais je n'arrive vraiment pas la trouver, meme avec un editeur cool.
    J'utilise l'affichage en utlisant un echo :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo (" <form action='administration.php' method='post' />
        			<input type='hidden' name='id_langue' value=\"".$id_langue."\" />
      				<input type='hidden' name='content' value='=htmlentities($content)' />
        			<input type='submit' value='Accept' style='position: relative; left: 1px; top: 1px;'>
        			</form>");

  5. #5
    Membre expérimenté
    Avatar de Julien.alkaza
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 239
    Par défaut
    C'est normal, car il faut que tu échapes tes guillemets...
    Là, tu comences ton texte, puis au 3eme mot tu ferme tes guillemets...Tout le reste est mal (pas??) compris!!!

  6. #6
    Membre régulier
    Inscrit en
    Mai 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 8
    Par défaut
    J'ai besoin d'explication la, ca me gonfle ces histoires de guillemets

  7. #7
    Membre expérimenté
    Avatar de Julien.alkaza
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 239
    Par défaut
    Essaye de mettre ca :

    "Conséquence de l'émergence de la Chine en tant que superpuissance et
    \"Usine du monde\", le Commerce et les échanges interrégionaux se sont
    développés rapidement ces dix dernières années.
    D'énormes opportunités sont apparues et la qualité de production
    s'améliorent de jours en jours.
    Cependant de sérieux risques et contraintes demeurent toujours lorsqu'on
    établit des rapports commerciaux avec cette zone.
    L'objectif de Cocoon Group est de s'assurer que ses clients bénéficient de tout
    ce que la Chine a à apporter sans avoir à se soucier des ces contraintes."

Discussions similaires

  1. affecter une variable de type stringstream
    Par sorari dans le forum SL & STL
    Réponses: 3
    Dernier message: 24/03/2005, 11h14
  2. Ajouter a une variable de type string, un entier
    Par Little-Freud dans le forum SL & STL
    Réponses: 12
    Dernier message: 05/03/2005, 19h33
  3. [VB.NET] Variable de type enum avec du string
    Par Mouse dans le forum Windows Forms
    Réponses: 4
    Dernier message: 13/01/2005, 18h22
  4. Oracle 9i : PLSQL - Variable de type LONG
    Par vortex dans le forum PL/SQL
    Réponses: 8
    Dernier message: 16/11/2004, 13h23
  5. [VB6] creation de variable de type string dynamiquement
    Par da40 dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 12/06/2003, 16h59

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