Salut il faut tout lire !!
donc je t'ai fait un truc un peut plus sympa
la je pige rien a ta structure tu te prend la tête pour rien.
Voila le code :
les radio c'est trop chiant a faire donc je préfère les select.
par contre faudra refaire ta stucture d'envoie de mail ce qui a de bien avec le select c'est que tu retourne qu'un resulta pas besoin de trier entre t'est truc : f1, f2, f3
du coup $sex = utf8_decode($_POST['civilite']); et $jesuis = utf8_decode($_POST['jesuis']); automatiquement ce champ vaudra la valeur de l'option.
Ta structure HTML désolé de te le dire n'est pas scementique, faut revoir cette aspect la !! mettre tout tes champs dans des <p> ce n'est pas bon préfère des div et des label avec une class, ou prend bootstrap ça je te laisse le refaire ne reprend pas la même ou fait la mieux.
ensuite quand tu fini l'envoie sans erreur a tois de voir si tu redirige dans ce cas faudra prévoir un flash message histoire de prévenir que ça a bien étais envoyer, et si tu veut stocker en base de donner le formulaire pour garder une trace, je t'ai mis un exemple de requete .
Je t'ai fait une validation pour certain champ a tois de faire le reste.
Ceci est a titre d'exemple tu peut faire autrement avec des radio mais c'est trop de validation différente a prévoir.
Ton problème de page qui ne s'affiche pas est normale tu met un action="verification.php" ce fichier ne te redirige pas donc tu reste sur cette page qui est vide car elle execute du php.
pour régler ce problème soit tu fait une redirection a la fin de l'envoie et suite au erreur soit tu ne met pas d'action et tu reste sur la page courante ce qui a mon sens est mieux par contre il faut toujour bloquer ton script si tu a des erreur de validation.
Verifie aussi ton captcha j'ai pas ton fichier j'ai pas pu le tester neanmoin je te sotck une erreur si il est différent de session.
<?php
//session_start();
if(isset($_POST) && !empty($_POST)){
//debug avec var_dump($_POST);
//die;
if(isset($_SESSION['captcha']) && !empty($_POST['captcha'] != $_SESSION['captcha'])){
$error = 'captcha non valide';
}if(isset($_POST['email']) && !empty($_POST['email'] != filter_var($_POST['email'], FILTER_VALIDATE_EMAIL))){
$error = 'email non valide';
}if(!preg_match("#^(particulier|assotiation|societe)$#",$_POST['jesuis'])){
$error = 'champ non valide';
}if(!preg_match("#^(homme|femme)$#",$_POST['civilite'])){
$error = 'champ non valide';
}if(empty($error)){
//evoie du mail
//insert si on a pas d'erreur exemple
/*$req = $db->prepare("
INSERT
INTO
table
SET
email = ?
");*/
//on execute la requete avec les champ dans l'ordre
//$req->execute([$_POST['email']]);
//a la fin du script
//header('Location:index.php');
//die;
}
}
echo isset($error) ? $error : '' ;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Document sans titre</title>
</head>
<body>
<form method="POST" action="">
<label for="jesuis">Je suis * : </label>
<br>
<select name="jesuis" id="jesuis">
<option value="particulier" name="particulier">Particulier : 10€</option>
<option value="association" name="association">Association : 20€</option>
<option value="societe" name="societe">Société : 40€</option>
</select>
<br>
<br>
<label for="civilite">Homme / Femme * : </label>
<br>
<select name="civilite" id="civilite">
<option value="homme" name="homme">Homme</option>
<option value="femme" name="femme">Femme</option>
</select>
<br>
<br>
<input type="text" name="prenom" id="nom" placeholder="Votre prenom" /> <br> <br>
<input type="text" name="nom" id="nom" placeholder="Votre Nom" /> <br> <br>
<input type="text" name="email" id="email" placeholder="Votre Email" /> <br><br>
Enseigne (sociétés uniquement): <br><br>
<input name="adresse" placeholder="adresse" type="text" /> <br> <br>
<input name="ville" placeholder="ville" type="text" /> <br> <br>
<input name="postal" placeholder="postal" type="text" /> <br> <br>
<input type="tel" name="tel" id="tel" placeholder="Votre n° de portable" /> <br> <br>
<input type="text" name="sujet" id="sujet" placeholder="Quel est votre sujet ?" /> <br> <br>
<textarea id="message" name="message" placeholder="Votre Message"></textarea>
<img src="captcha.php" /><br />
<input type="text" name="captcha" style="70px;" /><br />
<input type="submit" value="Envoyez" />
</form>
</body>
</html>