Différencier 2 boutons dans un même formulaire lors du traitement

Fermé
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021 - 14 déc. 2019 à 11:45
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 - 14 déc. 2019 à 16:12
Bonjour,

J'ai créé un petit formulaire avec 2 boutons. Ce que j'aimerais c'est que lors du traitement les 2 boutons soient différenciés. Hors actuellement même lorsque je clique sur le second bouton le traitement suit le cheminement du premier bouton.

Ci-dessous mon formulaire :
<?php $booking_var = 'booking_mercantour'; ?>
<form id="<?php echo $booking_var; ?>" method="post" action="<?php echo $link_request.'#'.$id_nav; ?>">
	<div class="<?php echo $class_hidden; ?>">
		<input id="<?php echo $id_form_var; ?>" name="<?php echo $id_form_var; ?>" type="text" value="<?php echo $booking_var; ?>">
	</div>
	<div>
		<label for="<?php echo $booking_var.'_'.$id_form_price; ?>">
			<?php echo ucfirst($label_form_price); ?>
		</label>
		<input id="<?php echo $booking_var.'_'.$id_form_price; ?>" name="<?php echo $booking_var.'_'.$id_form_price; ?>" type="text" value="96.00" readonly="readonly">
		<label>
			€
		</label>
	</div>
	<div>
		<label for="<?php echo $booking_var.'_'.$id_form_firstName; ?>">
			<?php echo ucfirst($label_form_firstName); ?>
		</label>
		<input id="<?php echo $booking_var.'_'.$id_form_firstName; ?>" name="<?php echo $booking_var.'_'.$id_form_firstName; ?>" type="text" title="<?php echo ucfirst($title_form_firstName); ?>" placeholder="<?php echo ucfirst($placeholder_form_firstName); ?>" <?php echo $required_form_firstName; ?> <?php echo $pattern_form_firstName; ?>>
	</div>
	<div>
		<label for="<?php echo $booking_var.'_'.$id_form_lastName; ?>">
			<?php echo ucfirst($label_form_lastName); ?>
		</label>
		<input id="<?php echo $booking_var.'_'.$id_form_lastName; ?>" name="<?php echo $booking_var.'_'.$id_form_lastName; ?>" type="text" title="<?php echo ucfirst($title_form_lastName); ?>" placeholder="<?php echo ucfirst($placeholder_form_lastName); ?>" <?php echo $required_form_lastName; ?> <?php echo $pattern_form_lastName; ?>>
	</div>
	<div>
		<label for="<?php echo $booking_var.'_'.$id_form_phone; ?>">
			<?php echo ucfirst($label_form_phone); ?>
		</label>
		<input id="<?php echo $booking_var.'_'.$id_form_phone; ?>" name="<?php echo $booking_var.'_'.$id_form_phone; ?>" type="tel" title="<?php echo ucfirst($title_form_phone); ?>" placeholder="<?php echo ucfirst($placeholder_form_phone); ?>" <?php echo $required_form_phone; ?> <?php echo $pattern_form_phone; ?>>
	</div>
	<div>
		<label for="<?php echo $booking_var.'_'.$id_form_eMail; ?>">
			<?php echo ucfirst($label_form_eMail); ?>
		</label>
		<input id="<?php echo $booking_var.'_'.$id_form_eMail; ?>" name="<?php echo $booking_var.'_'.$id_form_eMail; ?>" type="email" title="<?php echo ucfirst($title_form_eMail); ?>" placeholder="<?php echo ucfirst($placeholder_form_eMail); ?>" <?php echo $required_form_eMail; ?> <?php echo $pattern_form_eMail; ?>>
	</div>
        <div>
		<label for="<?php echo $booking_var.'_'.$id_form_date; ?>">
			<?php echo ucfirst($label_form_date); ?>
		</label>
		<select id="<?php echo $booking_var.'_'.$id_form_date; ?>" name="<?php echo $booking_var.'_'.$id_form_date; ?>" title="<?php echo ucfirst($title_form_date); ?>" <?php echo $required_form_date; ?> <?php echo $pattern_form_date; ?>>
		<option value="">
			<?php echo ucfirst($placeholder_form_date); ?>
		</option>
		<option value="vendredi 3 juillet 2020">
			Vendredi 3 juillet 2020
		</option>
		</select>
	</div>
	<div>
		<label for="<?php echo $booking_var.'_'.$id_form_number; ?>">
			<?php echo ucfirst($label_form_number); ?>
       	</label>
		<input id="<?php echo $booking_var.'_'.$id_form_number; ?>" name="<?php echo $booking_var.'_'.$id_form_number; ?>" type="text" title="<?php echo ucfirst($title_form_number); ?>" placeholder="<?php echo ucfirst($placeholder_form_number); ?>" <?php echo $required_form_number; ?> <?php echo $pattern_form_number; ?>>
	</div>
	<div>
		<label for="<?php echo $booking_var.'_'.$id_form_message; ?>">
			<?php echo ucfirst($label_form_message); ?>
		</label>
		<textarea id="<?php echo $booking_var.'_'.$id_form_message; ?>" name="<?php echo $booking_var.'_'.$id_form_message; ?>" type="text" title="<?php echo ucfirst($title_form_message); ?>" placeholder="<?php echo ucfirst($placeholder_form_message); ?>" <?php echo $required_form_message; ?> <?php echo $pattern_form_message; ?>></textarea>
	</div>
	<div>
		<label for="<?php echo $booking_var.'_'.$id_form_key; ?>">
			<?php echo ucfirst($label_form_key); ?>
		</label>
		<input id="<?php echo $booking_var.'_'.$id_form_key; ?>" name="<?php echo $booking_var.'_'.$id_form_key; ?>" type="text" title="<?php echo ucfirst($title_form_key); ?>" placeholder="<?php echo ucfirst($placeholder_form_key); ?>" <?php echo $required_form_key; ?> <?php echo $pattern_form_key; ?>>
	</div>
	<div class="button_container">
		<button id="<?php echo $booking_var.'_'.$id_form_bookingButton; ?>" type="submit"><?php echo ucfirst($text_form_bookingButton); ?></button>
	</div>
	<div class="button_container">
		<button id="<?php echo $booking_var.'_'.$id_form_alertButton; ?>" type="submit"><?php echo ucfirst($text_form_alertButton); ?></button>
	</div>
</form>
<?php unset($booking_var); ?>


Ci-dessous Request.php :
<?php
					/**********************/
					/* BOOKING MERCANTOUR */
					/**********************/
					$var = htmlentities($_POST[$id_form_var], ENT_QUOTES);
					if(!isset($_POST[$var.'_'.$id_form_bookingButton])) :
						$firstName = htmlentities($_POST[$var.'_'.$id_form_firstName], ENT_QUOTES);
						$firstName = str_replace('-',' ',$firstName);
						$firstName = ucwords($firstName);
						$firstName = str_replace(' ','-',$firstName);
						$lastName = htmlentities($_POST[$var.'_'.$id_form_lastName], ENT_QUOTES);
						$lastName = str_replace('-',' ',$lastName);
						$lastName = ucwords($lastName);
						$lastName = str_replace(' ','-',$lastName);
						$phone = htmlentities($_POST[$var.'_'.$id_form_phone], ENT_QUOTES);
						$eMail = htmlentities($_POST[$var.'_'.$id_form_eMail], ENT_QUOTES);
						$date = htmlentities($_POST[$var.'_'.$id_form_date], ENT_QUOTES);
						$number = htmlentities($_POST[$var.'_'.$id_form_number], ENT_QUOTES);
						$key = htmlentities($_POST[$var.'_'.$id_form_key], ENT_QUOTES);
						if(empty($firstName)) :
							echo 'Bonjour. Votre demande de réservation n\'a pas pu être transmise parce que vous n\'avez pas renseigné votre prénom. Nous vous prions de bien vouloir revenir sur le formulaire et renseigner votre prénom. Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
						elseif(empty($lastName)) :
							echo 'Bonjour. Votre demande de réservation n\'a pas pu être transmise parce que vous n\'avez pas renseigné votre nom. Nous vous prions de bien vouloir revenir sur le formulaire et renseigner votre nom. Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
						elseif(empty($phone)) :
							echo 'Bonjour. Votre demande de réservation n\'a pas pu être transmise parce que vous n\'avez pas renseigné votre numéro de téléphone portable. Nous vous prions de bien vouloir revenir sur le formulaire et renseigner votre numéro de téléphone portable. Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
						elseif(empty($eMail)) :
							echo 'Bonjour. Votre demande de réservation n\'a pas pu être transmise parce que vous n\'avez pas renseigné votre adresse e-mail. Nous vous prions de bien vouloir revenir sur le formulaire et renseigner votre adresse e-mail. Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
						elseif(empty($date)) :
							echo 'Bonjour. Votre demande de réservation n\'a pas pu être transmise parce que vous n\'avez pas choisi une date pour l\'activité. Nous vous prions de bien vouloir revenir sur le formulaire et choisir une date pour l\'activité. Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
						elseif(empty($number)) :
							echo 'Bonjour. Votre demande de réservation n\'a pas pu être transmise parce que vous n\'avez pas renseigné le nombre de participants. Nous vous prions de bien vouloir revenir sur le formulaire et renseigner le nombre de participants. Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
						elseif(empty($key)) :
							echo 'Bonjour. Votre demande de réservation n\'a pas pu être transmise parce que vous n\'avez pas renseigné la clé de sécurité. Nous vous prions de bien vouloir revenir sur le formulaire et renseigner la clé de sécurité. Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
						elseif(!empty($key)) :
							$pattern = $pattern_form_key[9];
							if($key == $pattern) {
								$price = htmlentities($_POST[$var.'_'.$id_form_price], ENT_QUOTES);
								$message = htmlentities($_POST[$var.'_'.$id_form_message], ENT_QUOTES);
								$total = $price * $number;
								$request = '
									<html>
										<head>
											<link rel="stylesheet" href="http://www.motalpes.fr/css/request.css" />
										</head>
										<body>
											<p>
												Bonjour. Une demande de réservation vient d\'être transmise depuis le site internet <span class="var">'.$from.'</span>.
											</p>
											<ul>
												<li>
													Circuit : <span class="var">'.ucfirst($name_roadbook_mercantour).'</span>
												</li>
												<li>
													'.ucfirst($label_form_firstName).' <span class="var">'.$firstName.'</span>
												</li>
												<li>
													'.ucfirst($label_form_lastName).' <span class="var">'.$lastName.'</span>
												</li>
												<li>
													'.ucfirst($label_form_phone).' <span class="var">'.$phone.'</span>
												</li>
												<li>
													'.ucfirst($label_form_eMail).' <span class="var">'.$eMail.'</span>
												</li>
												<li>
													'.ucfirst($label_form_date).' <span class="var">'.$date.'</span>
												</li>
												<li>
													'.ucfirst($label_form_number).' <span class="var">'.$number.'</span>
												</li>
												<li>
													'.ucfirst($label_form_price).' <span class="var">'.number_format($price, 2, ',', ' ').' €</span>
												</li>
												<li>
													Montant total : <span class="var">'.number_format($total, 2, ',', ' ').' €</span>
												</li>
												<li>
													'.ucfirst($label_form_message).' <p>"'.$message.'"</p>
												</li>
											</ul>
										</body>
									</html>
								';
								$reply = '
									<html>
										<head>
											<link rel="stylesheet" href="http://www.motalpes.fr/css/request.css" />
										</head>
										<body>
											<div class="header">
												<div>
													<img src="http://www.motalpes.fr/img/logo.jpg" />
												</div>
												<div>
													<p>
														<span class="name">Mot\'Alpes</span><br />
														Alexandre Dubus<br />
														La Bouironne<br />
														04200 Valbelle
													</p>
													<p>
														Téléphone : 06.33.58.79.69<br />
														E-mail : infos@motalpes.fr<br />
														Suivez-nous sur <a href="http://www.facebook.fr/motalpes">Facebook</a><br />
														Retrouvez-nous sur <a href="http://www.motalpes.fr">Mot\'Alpes</a>
													</p>
													<p>
														RCS de Manosque 829 096 445<br />
														TVA non applicable (article 293B du Code Général des Impôts)
													</p>
												</div>
											</div>
											<p>
												Bonjour <span class="var">'.$firstName.'</span> <span class="var">'.$lastName.'</span>. Vous venez de faire une demande de réservation sur notre site internet <span class="var">'.$from.'</span>. Nous vous remercions pour l\'intérêt que vous nous portez. Nous avons bien reçu votre demande de réservation. Nous y apporterons une réponse dans un délai maximum de 24h. En attendant vous trouverez ci-dessous un récapitulatif de vos informations ainsi que votre demande.
											</p>
											<ul>
												<li>
													Circuit : <span class="var">'.ucfirst($name_roadbook_mercantour).'</span>
												</li>
												<li>
													'.ucfirst($label_form_firstName).' <span class="var">'.$firstName.'</span>
												</li>
												<li>
													'.ucfirst($label_form_lastName).' <span class="var">'.$lastName.'</span>
												</li>
												<li>
													'.ucfirst($label_form_phone).' <span class="var">'.$phone.'</span>
												</li>
												<li>
													'.ucfirst($label_form_eMail).' <span class="var">'.$eMail.'</span>
												</li>
												<li>
													'.ucfirst($label_form_date).' <span class="var">'.$date.'</span>
												</li>
												<li>
													'.ucfirst($label_form_number).' <span class="var">'.$number.'</span>
												</li>
												<li>
													'.ucfirst($label_form_price).' <span class="var">'.number_format($price, 2, ',', ' ').' €</span>
												</li>
												<li>
													Montant total : <span class="var">'.number_format($total, 2, ',', ' ').' €</span>
												</li>
												<li>
													'.ucfirst($label_form_message).' <p>"'.$message.'"</p>
												</li>
											</ul>
										</body>
									</html>
								';
								echo 'Bonjour. Votre demande de réservation a bien été transmise. Un mail de confirmation vient de vous être envoyé à : '.$eMail.'. Si vous ne trouvez pas notre mail de confirmation dans votre boîte de réception nous vous invitons à vérifier votre dossier de courriers indésirables. Merci pour votre intérêt.';
								/*mail($to, $from, $request);
								mail($email, $to, $reply);*/
								echo $request.'<br />'.$reply;
							} else {
								echo 'Bonjour. Votre demande de réservation n\'a pas pu être transmise parce que la valeur de la clé de sécurité que vous avez renseigné n\'est pas valide. La bonne valeur est 7. Nous vous prions de bien vouloir revenir sur le formulaire et renseigner la clé de sécurité. Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
							}
						endif;
					elseif(!isset($_POST[$var.'_'.$id_form_alertButton])) :
						$eMail = htmlentities($_POST[$var.'_'.$id_form_eMail], ENT_QUOTES);
						$message = htmlentities($_POST[$var.'_'.$id_form_message], ENT_QUOTES);
						$key = htmlentities($_POST[$var.'_'.$id_form_key], ENT_QUOTES);
						if(empty($eMail)) :
							echo 'Bonjour. Votre signalement n\'a pas pu être transmis parce que vous n\'avez pas renseigné votre adresse e-mail. Nous vous prions de bien vouloir revenir sur le formulaire et renseigner votre adresse e-mail. Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
						elseif(empty($message)) :
							echo 'Bonjour. Votre signalement n\'a pas pu être transmis parce que vous n\'avez donné aucune précision sur le problème dans le champs "message". Nous vous prions de bien vouloir revenir sur le formulaire et donner des précisions sur le problème dans le champs "message". Pour revenir sur le formulaire <a href="'.$link_index.'#'.$var.'">cliquez ici</a>.';
						elseif(!empty($key)) :
							$pattern = $pattern_form_key[9];
							if($key == $pattern) {
								$request = '
									<html>
										<head>
											<link rel="stylesheet" href="http://www.motalpes.fr/css/request.css" />
										</head>
										<body>
											<p>
												Bonjour. Un signalement vient d\'être transmis depuis le site internet <span class="var">'.$from.'</span>.
											</p>
											<ul>
												<li>
													Origine du problème : <span class="var">'.ucfirst($name_roadbook_mercantour).'</span>
												</li>
												<li>
													'.ucfirst($label_form_eMail).' <span class="var">'.$eMail.'</span>
												</li>
												<li>
													'.ucfirst($label_form_message).' <p>"'.$message.'"</p>
												</li>
											</ul>
										</body>
									</html>
								';
								$reply = '
									<html>
										<head>
											<link rel="stylesheet" href="http://www.motalpes.fr/css/request.css" />
										</head>
										<body>
											<div class="header">
												<div>
													<img src="http://www.motalpes.fr/img/logo.jpg" />
												</div>
												<div>
													<p>
														<span class="name">Mot\'Alpes</span><br />
														Alexandre Dubus<br />
														La Bouironne<br />
														04200 Valbelle
													</p>
													<p>
														Téléphone : 06.33.58.79.69<br />
														E-mail : infos@motalpes.fr<br />
														Suivez-nous sur <a href="http://www.facebook.fr/motalpes">Facebook</a><br />
														Retrouvez-nous sur <a href="http://www.motalpes.fr">Mot\'Alpes</a>
													</p>
													<p>
														RCS de Manosque 829 096 445<br />
														TVA non applicable (article 293B du Code Général des Impôts)
													</p>
												</div>
											</div>
											<p>
												Bonjour. Vous venez de faire un signalement sur notre site internet <span class="var">'.$from.'</span>. Nous vous remercions pour votre aide sur l\'amélioration de notre site internet. Nous avons bien reçu votre signalement. Nous y apporterons une réponse dans un délai maximum de 24h. En attendant vous trouverez ci-dessous un récapitulatif de vos informations ainsi que votre signalement.
											</p>
											<ul>
												<li>
													Origine du problème : <span class="var">'.ucfirst($name_roadbook_mercantour).'</span>
												</li>
												<li>
													'.ucfirst($label_form_eMail).' <span class="var">'.$eMail.'</span>
												</li>
												<li>
													'.ucfirst($label_form_message).' <p>"'.$message.'"</p>
												</li>
											</ul>
										</body>
									</html>
								';
								echo 'Bonjour. Votre signalement a bien été transmis. Un mail de confirmation vient de vous être envoyé à : '.$eMail.'. Si vous ne trouvez pas notre mail de confirmation dans votre boîte de réception nous vous invitons à vérifier votre dossier de courriers indésirables. Merci pour votre aide.';
								/*mail($to, $from, $request);
								mail($email, $to, $reply);*/
								echo $request.'<br />'.$reply;
							}
						endif;
					else :
						echo 'Bonjour. Votre signalement n\'a pas pu être transmis parce qu\'une erreur indéterminée s\'est produite. Nous faisons tout notre possible pour résoudre le problème. En attendant vous pouvez nous contacter par téléphone au '.$phone.'. Nous vous prions de bien vouloir nous excuser pour la gêne occasionnée et vous invitons à renouveler votre signalement dans les 24h.';
					endif;
					unset($var);
				?>


Et enfin ci-dessous les $ liées au formulaire :
$id_form_var = 'booking_var';

	$id_form_price = 'price';
	$label_form_price = 'tarif / personne :';

	$id_form_firstName = 'firstName';
	$label_form_firstName = 'prénom :';
	$title_form_firstName = 'merci de bien vouloir renseigner votre prénom.';
	$placeholder_form_firstName = 'votre prénom';
	$required_form_firstName = '';
	$pattern_form_firstName = 'pattern="[A-Za-zÀÁÂÄÈÉÊËÌÍÎÏÒÓÔÖÙÚÛÜàáâäèéêëìíîïòóôöùúûü -]+"';

	$id_form_lastName = 'lastName';
	$label_form_lastName = 'nom :';
	$title_form_lastName = 'merci de bien vouloir renseigner votre nom.';
	$placeholder_form_lastName = 'votre nom';
	$required_form_lastName = '';
	$pattern_form_lastName = 'pattern="[A-Za-zÀÁÂÄÈÉÊËÌÍÎÏÒÓÔÖÙÚÛÜàáâäèéêëìíîïòóôöùúûü -]+"';

	$id_form_phone = 'phone';
	$label_form_phone = 'portable :';
	$title_form_phone = 'merci de bien vouloir renseigner votre numéro de téléphone portable.';
	$placeholder_form_phone = 'votre numéro';
	$required_form_phone = '';
	$pattern_form_phone = 'pattern="[0-9]{10}"';

	$id_form_eMail = 'eMail';
	$label_form_eMail = 'e-mail :';
	$title_form_eMail = 'merci de bien vouloir renseigner votre adresse e-mail.';
	$placeholder_form_eMail = 'votre adresse e-mail';
	$required_form_eMail = 'required';
	$pattern_form_eMail = '';

	$id_form_date = 'date';
	$label_form_date = 'date :';
	$title_form_date = 'merci de bien vouloir choisir une date pour l\'activité.';
	$placeholder_form_date = 'choix d\'une date d\'activité';
	$required_form_date = '';
	$pattern_form_date = '';

	$id_form_number = 'number';
	$label_form_number = 'participants :';
	$title_form_number = 'merci de bien vouloir renseigner le nombre de participants.';
	$placeholder_form_number = 'de 1 à 20';
	$required_form_number = '';
	$pattern_form_number = 'pattern="[1-9]|1[0-9]|20"';

	$id_form_message = 'message';
	$label_form_message = 'message :';
	$title_form_message = 'merci de bien vouloir écrire un message.';
	$placeholder_form_message = 'votre message';
	$required_form_message = '';
	$pattern_form_message = '';

	$id_form_key = 'key';
	$label_form_key = 'combien font 2 et 5 ?';
	$title_form_key = 'clé de sécurité anti-spam. Merci de bien vouloir donner le résultat.';
	$placeholder_form_key = 'résultat';
	$required_form_key = 'required';
	$pattern_form_key = 'pattern="7"';

	$id_form_bookingButton = 'button';
	$text_form_bookingButton = 'réserver';

	$id_form_alertButton = 'alert';
	$text_form_alertButton = 'signaler un problème';


Configuration: Windows / Firefox 66.0
A voir également:

1 réponse

yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 Ambassadeur 1 557
Modifié le 14 déc. 2019 à 16:21
bonjour, tu peux faire cela en utilisant l'attribut name (plus éventuellement l'attribut value) des boutons.
il me semble qu'il te suffit de remplacer id par name en lignes 71 et 74, ou bien d'y ajouter name, comme tu as fait en ligne 68.

je ne comprends pas ce que tu testes en lignes 6 et 154 de ton php.
0