Page 1 sur 1

Conseils affichage contenu autre page avec Formulaire POST

Posté : 29 janv. 2021, 19:12
par Ma8__
Bonjour tout le monde,

Que Me Conseillez Vous pour afficher du contenu distant Avec Formulaire POST :o ?

J'ai une page principale a.php, sur celle-ci, je souhaite afficher les pages b.php et c.php qui contiennent des formulaires POST,
Actuellement, j'utilise un require(); mais le traitement des données POST se font sur a.php et non sur leur pages respectives.

Ce qui cause des problèmes,
:arrow: Affichage des erreurs alors que le formulaire n'est pas soumis
:arrow: Re soumission quand on fait f5 même si le formulaire est déjà soumis.

J'utilise cette solution car au niveau de mon code, cela me permet d'avoir un code plus lisible.
Et puis, je souhaite une solution plus propre car c'est un projet sérieux.

Je pensai a ob_start() et ob_get_flush() mais je ne vous pas trop comment l’utiliser.
L'autre solution, c'est d’afficher sur la page a.php, que le html, et quand il y a soumission, sur a.php je génère une requête sur sur un fichier distant qui comprendra les requêtes.


Merci bien,
Cordialement :D

Re: Conseils affichage contenu autre page avec Formulaire POST

Posté : 29 janv. 2021, 19:40
par @rthur
La solution propre est de reproduire ces formulaires et de les envoyer côté serveur avec CURL ou Guzzle en POST, récupérer le retour et l'afficher comme tu le souhaites.
https://github.com/guzzle/guzzle

Si tu veux vraiment faire juste un require du formulaire, tu peux remplacer ton require par un file_get_contents(), et modifier à la volée le code HTML du formulaire récupéré par exemple en injectant un attribut action pour remettre l'url de la page distante b.php.
<form action="http://domaine.com/b.php" method="post">

Re: Conseils affichage contenu autre page avec Formulaire POST

Posté : 30 janv. 2021, 12:07
par Ma8__
Bonjour,
J'ai effectue la modification, en mettant les verifications POST sur la même page(avec le HTML) mais quand je soumet un formulaire, les erreurs des autre formulaires se déclenchent car il ont de valeur adéquat...

Comment procéder dans ce cas.
Ex. quand je soumet le formulaire 'a', les erreurs de 'b' s’affiche car il est vide.
if ($_SERVER['REQUEST_METHOD'] === 'POST'):
if (isset($_POST['a']) && !empty($_POST['a'])) {
// ...
} else {$errors = '...';}


if (isset($_POST['b']) && !empty($_POST['b'])) {
// ...
} else {$errors = '...';}

endif;
Merci bien