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 :

[PHP-JS] Coder un "preview" à côté du "submit"


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Par défaut [PHP-JS] Coder un "preview" à côté du "submit"
    Bonjour,

    J'ai un formulaire qui fonctionne très bien pour soumettre les données en POST à une page PHP qui, elle, s'occupe de faire l'insertion des données et génère un email avec ces données. J'ai aussi mis un bouton Prévisualisation à côté du bouton Soumettre mais du coup, je n'ai trouvé nul autre moyen que la méthode GET pour transmettre les données à la page de prévisualisation (qui s'ouvre dans un Pop-Up). Autrefois c'était bien car je pouvais cacher l'URL. Or, les nouvelles version d'IE ne permettent plus de cacher l'URL et l'utilisateur peut voir tous les paramètres. Ça ne fait vraiment pas professionnel.

    Donc voilà, je cherche à comprendre comment envoyer les données en POST à cette page de prévisualisation alors que le formulaire HTML est déjà rattaché à une autre page PHP pour son action Submit. Il y aura peut-être un peu de JavaScript dans tout ça, je cherche.

  2. #2
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Tu peux savoir que quel boutton il a cliqué en donnant un "name" à chacun d'eux.
    En revanche pour la popup direct va falloir trouver une parade

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Par défaut
    Voici la solution que j'ai imaginée :

    Le bouton Preview fait appel à un JavaScript qui fait les étapes suivantes :

    1) ouvre en pop-up un fichier HTML qui contient une copie invisible du formulaire original. Ce formulaire pointe le fichier preview.php dans sa propriété action.

    2) remplit automatiquement tous les champs du formulaire en récupérant les données du formulaire de la fenêtre appelante. Je sais que c'est possible mais je ne sais pas trop comment faire.

    3) déclenche l'action Submit

    Et voilà, le reste se fait tout seul. La page preview.php est appelée avec les données envoyées en POST et affiche le résultat.

    Du coup, je crois que ce message devrait plutôt être enregistré dans le forum JavaScript plutôt que PHP. Mais je ne pouvais pas deviner, je viens tout juste d'inventer cette solution.

  4. #4
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Hello

    Et pourquoi ne pas tout mettre sur une et même page, tu ne te compliquerais pas autant la vie...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Par défaut
    Citation Envoyé par 12monkeys Voir le message
    Hello

    Et pourquoi ne pas tout mettre sur une et même page, tu ne te compliquerais pas autant la vie...
    Tu veux dire mettre un bloc preview plus bas dans la page, qui se remplirait au fur et à mesure que l'utilisateur tape ses infos dans le champs du formulaire ? Ben c'est du DHTML ou AJAX ça. Je ne connais rien à ces technos...

  6. #6
    Expert confirmé
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Par défaut
    Non je veux dire, en schématisant :

    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
     
    if (appui sur bouton envoyer formulaire) {
     
    //verif du formulaire
     
    } else {
     
    //declaration des variables
     
    }
     
    if (appui sur bouton envoyer formulaire et aucune erreur dans les réponses) {
     
    //traitement (ex : envoi mail....)
     
    //affichage de la page de résultat
     
    } else {
     
    //affichage du formulaire
     
    //affichage de la liste des erreurs...
     
    }
    Pas de DHTML ni d'ajax, simplement du HTML et du PHP, avec le formulaire qui renvoi sur lui même...

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

Discussions similaires

  1. [PHP-JS] Coder un collapse ou expand
    Par skyangel dans le forum Langage
    Réponses: 9
    Dernier message: 29/06/2006, 15h00
  2. utilisation du php, comment coder ?
    Par arnolem dans le forum Langage
    Réponses: 8
    Dernier message: 05/04/2006, 13h25

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