Bonjour à tous,

Je suis nouveau sur le forum, mais le consulte depuis lontemps.
D'habitude je trouve les réponses à mes problèmes, mais là non !

Mon site est basé sur une page (base.php) qui me permet de générer via du php toutes les pages de mon site.

Pour exemple la page contact.php contient seulement :
<?php Include 'base.php'; ?>


Ce qui fonctionne assez bien.

Mon problème est au niveau du formulaire de contact.
J'ai voulu pour plus d'ergonomie "découper" le formulaire (assez long) en plusieurs page.

J'ai d'abord fait avec des IFRAME, mon code générait alors une seule page nommée contact.php et les différentes pages du formulaire (form_0.php, form_1.php ...) s’inséraient dans une balise ARTICLE.
A chaque clic de validation seul le contenu de l'IFRAME changeait.
Mais la mise en page était problématique et après recherches il m'a semblé comprendre que les IFRAME appartenaient aux 90's Smiley confused

Donc j'ai calé un petit php include dans mon fichier base.php ...
<article id="contenu">
		<?php
		if ($cat_gallery_dir == 'home')
			include 'home_info.php';
		else if ($cat_gallery_dir == 'contact')
			include 'form_0.php';
		else
			include 'gallery.php';
		?>
		</article>


Mais après validation mon
<form action="form_1.php" method="post"> .... </form>
me renvoie évidement vers form_1.php sans l'inclure dans la page contact.php...

Je ne sais pas si c'est possible de dire à FORM de continuer sur la même page en rechargeant la suite du formulaire dans ma balise ARTICLE !!?

Merci par avance Smiley biggrin
Modifié par b3N-0 (15 Oct 2015 - 16:58)
Bonjour à toi,

j'ai pas bien compris dans le code tu cherches à inclure form_0.php dans ta page contact, mais ensuite tu nous parle de form_1 ??

Si tu veux donner un peu plus de souplesse à ton formulaire, pourquoi ne pas créer une illusion de plusieurs page ? Un peu comme les menu à onglet, sauf qu'au lieu d'avoir des onglets tu as des boutons qui te font passer d'une "page" à une autre. Seul l'onglet actif est en display:block les autres sont cachés.
Ainsi ton form reste sur la même page, c'est plus simple pour récupérer les infos.

Edit, pour répondre à ta dernière question, c'est possible à faire mais avec ajax. Et plutôt que d'utiliser un bouton submit, tu utilise une balise <a> qui au click déclenche l'apparition du reste du formulaire. Tu ne met ton submit que lorsque tu as tout en formulaire complet. (à la fin quoi)
Modifié par J_B (15 Oct 2015 - 17:10)
Depuis 2013 il me semble, en html5 tu peux omettre l'attribut action pour que le <form> submit sur la même page;


tu as une vrai réponse ici
Modifié par JENCAL (15 Oct 2015 - 17:10)
Merci à vous deux pour vos réponses.

JENCAL > Omettre l'attribut action ne m'aide pas car cela ne fait pas 'avancer les pages du formulaire'. A moins que je n'ai pas compris...

J_B > L'idée du menu à onglet me semblait vraiment bien, mais comme je vérifie l'email de utilisateur via un code entre deux pages de formulaire je crois que ça ne fonctionne pas... De plus selon les réponses de l'utilisateur les questions suivantes pourront varier ! Pourtant l'idée était pas mal du tout
Sinon j'ai effectivement inclut form_0.php dans la page de contact, et en validant la partie de formulaire on est redirigé vers form_1.php. C'est cette redirection que je voudrais afficher dans la balise ARTICLE de ma page contact. Ce que faisait l'IFRAME en fait.

EDIT : AJax semble être la piste, je regarde plus en profondeur... mais je maîtrise mal le JavaScript Smiley confused .
Modifié par b3N-0 (15 Oct 2015 - 17:38)
Tu peux très bien combiné ajax et le menu à onglet.
D'ailleurs, avec ajax tu peux vérifier instantanément l'émail de ton utilisateur. Ce serait "invisible" pour l'utilisateur et sans rechargement de page.

Si tu as besoin, je te filerais un coup de patte
Merci pour la proposition de coup de patte !

Je vais m'orienter vers l'ajax et les onglets....

je reviendrai si je butte sur la réalisation...
Non autant pour moi, c'est moi qui n'avait pas compris Smiley smile

"Je ne sais pas si c'est possible de dire à FORM de continuer sur la même page" j'avais compris que tu souhaite faire boucler ton form sur la page parente.
Modifié par JENCAL (15 Oct 2015 - 17:59)
Il me semble que j'ai trouvé ma solution, il ne me reste plus qu'à...

Un grand merci à vous de m'avoir aiguiller !