Traiter les valeurs d'un formulaire en PHP

Signaler
-
Messages postés
32134
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2021
-
Bonjour,

j'ai fait un formulaire d'inscrition et je souhaiterai stocker leurs valeurs dans la base de données à une seule condition que tous les champs du formulaire soient remplis et je veut vérifier la valeur de chaque champ avec PHP voilà ce que j'ai fait
<?php 
		$pdo= new PDO('mysql:dbname=inovdb;host=localhost','root','');
   $pdo->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
   $erreur="";
if (isset($_POST['valider'])) {
$NOM=$_POST['nom'];
$PRENOM=$_POST['prenom'];
$ADRESSE=$_POST['adresse'];
$DATE=$_POST['date'];
$EMAIL=$_POST['email'];
$DOMAINE=$_POST['domaine'];
if (empty($NOM)) $erreur.="<li>nom est vide</li>";
if (empty($PRENOM)) $erreur.="<li>prenom est vide</li>";
if (empty($ADRESSE)) $erreur.="<li>adresse est vide</li>";
if (empty($EMAIL)) $erreur.="<li>email est vide</li>";
if (empty($DATE)) $erreur.="<li>date de naissance est vide</li>";
if (empty($DOMAINE)) $erreur.="<li>domaine est vide</li>";
if (!empty($NOM) && !empty($PRENOM) && !empty($ADRESSE) && !empty($LIEU) && !empty($EMAIL) && !empty($DOMAINE)) {
$req=$pdo->prepare("INSERT INTO stagiaire SET nom=?, prenom=?, adresse=?, date_naissance=?, email=?, domaine=?");
   	$req->execute([$NOM,$PRENOM,$ADRESSE,$DATE,$EMAIL,(implode("/", $DOMAINE))]);
   	header("location:index.php");
	 }
}
  if (isset($_POST['modifier'])) {
  	header("location:lister.php");
  }
?>
<?php if (!empty($erreur)) { ?>
		<div id="erreur"><?=$erreur?></div>
	<?php } ?>
<!DOCTYPE html>
<html>
<head>
	<title>Inov_registration_futur_apprenants</title>
	<link rel="stylesheet" href="truc.css">
</head>
<body>
	<center>
	<form method="POST" action="">
			<input type="text" name="nom" id="nom" class="input_text" placeholder="votre nom ici ...." value="<?php echo @$NOM; ?>"><br>
			<input type="text" name="prenom" id="prénom" class="input_text" placeholder="votre prenom ici...." value="<?php echo @$PRENOM; ?>"><br>
			<input type="text" name="adresse" id="Adresse" class="input_text" placeholder="votre adresse ....." value="<?php echo @$ADRESSE; ?>"><br>
			date de naissance<input type="date" name="date" id="Date" class="input_text" placeholder="votre date de naissance....." value="<?php echo @$DATE; ?>"><br>
			<input type="email" name="email" id="E-mail" class="input_text" placeholder="votre adresse email...." value="<?php echo @$EMAIL; ?>"><br>
			<table>
				<caption>Domaine de formation</caption>
			<tr><td><label><input type="checkbox" name="domaine[]" class="input_check" value="programmation"><svg class="input_checkbox" width="25" height="25"><polyline points="20 6 9 17 4 12"></polyline></svg></label></td><td>programmation</td></tr></tr>
			<tr><td><label><input type="checkbox" name="domaine[]" class="input_check" value="Managment des entreprises"><svg class="input_checkbox" width="25" height="25"><polyline points="20 6 9 17 4 12"></polyline></svg></label></td><td>Managment des entreprises</td></tr>
			<tr><td><label><input type="checkbox" name="domaine[]" class="input_check" value="leadership"><svg class="input_checkbox" width="25" height="25"><polyline points="20 6 9 17 4 12"></polyline></svg></label></td><td>leadership</td></tr>
			<tr><td><label><input type="checkbox" name="domaine[]" class="input_check" value="Infographie"><svg class="input_checkbox" width="25" height="25"><polyline points="20 6 9 17 4 12"></polyline></svg></label></td><td>Infographie</td></tr>
			<tr><td><label><input type="checkbox" name="domaine[]" class="input_check" value="gestion des données"><svg class="input_checkbox" width="25" height="25"><polyline points="20 6 9 17 4 12"></polyline></svg></label></td><td>Gestion des données</td></tr>
			</table>
			<input type="submit" name="valider" value="valider">
			<input type="submit" name="modifier" value="modifier">
	</form></center>


Configuration: Windows / Chrome 89.0.4389.128

1 réponse

Messages postés
32134
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 avril 2021
3 411
Bonjour,

Et ? tu as un souci ?

Commence par placer le code de connexion à ta bdd DANS un bloc try Catch et fais de même pour ta requête SQL
=> Appliques les consignes données ici :
https://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs

Affiche également les erreurs PHP au début de ton script
=> voir ici https://www.commentcamarche.net/faq/48399-php-gestion-des-erreurs-debogage-et-ecriture-du-code

Bien entendu, pour pouvoir voir les éventuels messages d'erreur, pense à retirer ( à mettre en commentaire au moins..) la ligne de code qui fait la redirection ( l'instruction header )


Reviens nous voir ensuite avec le code modifié si tes soucis persistes et pense à expliquer en détail ce qui t'arrive.