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

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Points : 19
    Points
    19
    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 éclairé Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Points : 876
    Points
    876
    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 à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Points : 19
    Points
    19
    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 éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

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

    Et pourquoi ne pas tout mettre sur une et même page, tu ne te compliquerais pas autant la vie...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

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

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Points : 19
    Points
    19
    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 éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    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...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    Ah, ok, je vois ce que tu veux dire. Tu proposes de faire une prévisualisation de la même manière que c'est fait sur le forum de discussion ? Ça ne répond pas au besoin, on m'a demandé de la mettre dans un pop-up.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonsoir,
    à l'heure où les anti-popup sont légion, c'est étonnant que quelqu'un vous fasse une telle demande.

    Cordialement,
    DaRiaN.

  9. #9
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    tu peux aussi, dans ton popup mettre un formulaire avec que des champs hidden qui portent les mêmes noms que ceux du formulaire d'origine. Si la personne valide la prévisualition, alors le traitement sera la même. Si la personne veut modifier, alors chaque tu mets dans les champs la valeur qui à le même nom dans le $_POST.

  10. #10
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 207
    Points
    207
    Par défaut
    plutot que faire un pop up tu peux ouvrir une autre page en utilisant les artifice comme Thickbox, c'est trés pratique et ça fait moderne.

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    Finalement j'ai pu mettre en place la solution que j'ai proposée. J'ai compris comment récupérer les données du formulaire dans la page d'origine, etc. Et maintenant, tout fonctionne bien. Là je reviens sur ce post pour vous signaler que tout est réglé et, c'est marrant, je constate que la solution que j'ai mise en place est exactement celle proposée par julien.63 : la pop-up ouvre une vulgaire page vierge qui contient le formulaire avec tous les champs cachés, les valeurs sont affectées, un Submit est fait par programmation et hop, la page de résultat du preview est appelée par ce formulaire caché. L'utilisateur ne se rend compte de rien. Et ça marche à merveille. Plus besoin de passer par la méthode GET.

    Sinon, Thickbox, c'est quoi au juste ? Je suis curieux...

    Merci pour votre soutien moral !

  12. #12
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    salut,
    va voir sur cette page et clique sur la photo sous "DEMO".
    c'est une page pris au hasard dans google.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 32
    Points : 19
    Points
    19
    Par défaut
    OK, j'ai effectivement trouvé PLEIN de pages sur le sujet en fouillant sur Google. Ça a l'air bien (moderne comme disait l'autre). Je crois que je vais implanter ça dans la prochaine version.

+ 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