Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/02/2008, 17h26   #1
Invité régulier
 
Inscription : septembre 2007
Messages : 32
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 32
Points : 8
Points : 8
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.
Grizzzly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 18h11   #2
Membre chevronné
 
Avatar de |PaRa-BoL
 
Inscription : novembre 2003
Messages : 737
Détails du profil
Informations personnelles :
Âge : 25

Informations forums :
Inscription : novembre 2003
Messages : 737
Points : 782
Points : 782
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
__________________
http://www.ape-project.org/
|PaRa-BoL est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 18h23   #3
Invité régulier
 
Inscription : septembre 2007
Messages : 32
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 32
Points : 8
Points : 8
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.
Grizzzly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 19h10   #4
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 630
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 630
Points : 6 232
Points : 6 232
Hello

Et pourquoi ne pas tout mettre sur une et même page, tu ne te compliquerais pas autant la vie...
__________________
Vous débutez dans la creation de sites web : les bases du html et débuter 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...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 19h14   #5
Invité régulier
 
Inscription : septembre 2007
Messages : 32
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 32
Points : 8
Points : 8
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...
Grizzzly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2008, 20h59   #6
Rédacteur/Modérateur
 
Avatar de 12monkeys
 
Homme Dr. Peters
Webmaster
Inscription : novembre 2006
Messages : 3 630
Détails du profil
Informations personnelles :
Nom : Homme Dr. Peters
Âge : 35
Localisation : France, Bas Rhin (Alsace)

Informations professionnelles :
Activité : Webmaster
Secteur : Service public

Informations forums :
Inscription : novembre 2006
Messages : 3 630
Points : 6 232
Points : 6 232
Non je veux dire, en schématisant :

Code :
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 débutez dans la creation de sites web : les bases du html et débuter 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...
12monkeys est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 01h45   #7
Invité régulier
 
Inscription : septembre 2007
Messages : 32
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 32
Points : 8
Points : 8
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.
Grizzzly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 02h08   #8
Membre expérimenté
 
Inscription : août 2005
Messages : 515
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 515
Points : 557
Points : 557
Bonsoir,
à l'heure où les anti-popup sont légion, c'est étonnant que quelqu'un vous fasse une telle demande.

Cordialement,
DaRiaN.
DaRiaN est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 09h24   #9
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
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.
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2008, 12h14   #10
Membre actif
 
Homme
Développeur Web
Inscription : juillet 2007
Messages : 193
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : juillet 2007
Messages : 193
Points : 189
Points : 189
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.
metfan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 01h41   #11
Invité régulier
 
Inscription : septembre 2007
Messages : 32
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 32
Points : 8
Points : 8
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 !
Grizzzly est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 08h37   #12
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
salut,
va voir sur cette page et clique sur la photo sous "DEMO".
c'est une page pris au hasard dans google.
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 17h10   #13
Invité régulier
 
Inscription : septembre 2007
Messages : 32
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 32
Points : 8
Points : 8
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.
Grizzzly est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h05.


 
 
 
 
Partenaires

Hébergement Web