Différencier 2 formulaires

Bonjour,

J'ai une question qui va certainement vous paraître bête mais comment fait-on pour différencier 2 formulaires lorsque l'on fait le traitement sur une même page de destination ? J'ai beau utiliser l'ID du formulaire ou celui du bouton je n'y arrive pas. J'ai écrit un bout de code très simple pour voir le fonctionnement et voir si cela fonctionne. Mais à chaque fois la page de traitement m'affiche le message "ça marche pas"...

<form id="mercantour_booking" method="post" action="request.php">
						<div>
							<button id="mercantour_button" type="submit">Réserver</button>
						</div>
					</form>


if(!empty($_POST['mercantour_booking'])) {
	/* ...on lance le traitement du formulaire. */
		echo 'ça marche';
	} else {
		echo 'ça marche pas';
	}


Merci d'avance.

Configuration: Windows / Firefox 66.0

1 réponse

  1. Modérateur
    Bonjour
    ce n'est pas !empty qu'il faut utiliser sur le nom du formulaire mais un isset
    0
    1. En utilisant !isset avec le nom du bouton ça marche. Donc si j'ai 2 formulaire avec chacun un bouton, button id="button1" pour le formulaire 1, et button id="button2" pour le formulaire 2, si le visiteur clique par exemple sur le bouton 2 la page de traitement ne prendra en compte que le code dans le if(!isset($_POST['button2'])) et ignorera le code dans le if(!isset($_POST['button1'])) ?
      0
    2. <code php>
      pourquoi faire si tu ne clique pas quand tu peux tester si tu cliques :

      if (isset($_POST['bouton1'])){ //si tu cliques sur bouton 1
      // execute ce que tu veux avec bouton 1
      }

      if (isset($_POST['bouton2'])){ //si tu clique sur bouton 2
      // execute ce que tu veux avec bouton2
      }

      </code
      0