Bonjour, je suis nouveau ici.
j'ai créer un formulaire de contact en PHP.
j'ai créer un CAPTCHA qui consiste à indiqué le résultat (total en chiffes) de trois dés à jouer (format PNG) (aléatoire) donc un nombre de 3 à 18 dans le champ 'resultat'
si le résultat est correct, j'envoie un mail qui contient le message, et j'enregistre les champs dans une table de base de données.
or je reçois des messages indésirables avec la valeur zéro dans le champ 'resultat'.
merci de me dire comment joindre mon code
Modifié par gcyrillus (02 Jul 2023 - 15:29)
j'ai créer un formulaire de contact en PHP.
j'ai créer un CAPTCHA qui consiste à indiqué le résultat (total en chiffes) de trois dés à jouer (format PNG) (aléatoire) donc un nombre de 3 à 18 dans le champ 'resultat'
si le résultat est correct, j'envoie un mail qui contient le message, et j'enregistre les champs dans une table de base de données.
or je reçois des messages indésirables avec la valeur zéro dans le champ 'resultat'.
merci de me dire comment joindre mon code
<?php
session_start();
error_reporting(E_ALL);
ini_set("display_errors", 1); //Affichage des erreurs
$erreur_resultat=false;
$nom_value='';
$email_value='';
$telephone_value='';
$message_value='';
if (isset($_POST['nom'])){$nom_value = htmlentities($_POST['nom']);}
if (isset($_POST['email'])){$email_value = htmlentities($_POST['email']);}
if (isset($_POST['telephone'])){$telephone_value = htmlentities($_POST['telephone']);}
if (isset($_POST['message'])){$message_value = htmlentities($_POST['message']);}
if (isset($_POST['resultat'])){
if ($_POST['resultat'] == $_SESSION['resultat']){
/* ********************************************************************** */
/* */
/* ICI ENVOIE DU MAIL Par fonction PHP email(); */
/* */
/* ********************************************************************** */
if(mail($email_to,$email_subject, $email_message, $headers)==true){ //
// Si Mail evoyé :
// Enregistrement dans la base de données
$servername = 'mabase.mysql.db';
$username = 'mabase';
$password = 'xxxxxxxxxxx';
$base = mysqli_connect($servername, $username, $password, $username);
$nom=$nom_value;
$email=$email_value;
$telephone=$telephone_value;
$message=$message_value;
$date=date("Y-m-d H:i:s");
$contact="webmaster";
if($piece_jointe){$piece="oui";}else{$piece="non";}
$resultat=$_POST['resultat'];
$query="INSERT INTO messages VALUES ('".$nom."','".$email."','".$telephone."','".$message."','".$date."','".$contact."','".$piece."','".$resultat."')";
$result = mysqli_query($base,$query);
// redirection vers la page réponse si mail envoyé
header('Location: reponse.php'); //Redirection
}
}else{
$erreur_resultat=true;
}
}
// ============ CAPTCHA ========================
$de1_value = rand(1,6);
$de2_value = rand(1,6);
$de3_value = rand(1,6);
$_SESSION['resultat']=$de1_value+$de2_value+$de3_value;
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="contact.css" type="text/css">
<script>
function ferme(){
document.getElementById("modale").style.visibility = "hidden"
}
</script>
</head>
<body>
<!-- ******************************** FENETRE MODALE ERREUR RESULTAT ***************************************** -->
<div id="modale" style="position:fixed; top:0px; left:0px; width:100%; height:100%; background-color: rgba(0, 0, 0, 0.4); z-index:200;display: flex;
justify-content: center; font-family:sans-serif; align-items: center; visibility:
<?php
if($erreur_resultat){
echo('visible');
}else{
echo('hidden');
}
?>;">
<div style="background-color: #fbfbbf; width:400px; height:200px; border-radius: 5px;" class="shadow">
<div style="text-align:right; background-color:#660000;">
<button style="padding:5px;" onClick="ferme();">X</button>
</div>
<div style="text-align:center; padding:40px; font-size:16px;">
nombre de points erroné !
<br>
<button onClick="ferme();" style="text-align:center; margin:20px; padding:5px;">OK</button>
</div>
</div>
</div>
<!-- ********************************************** CADRE PRINCIPAL ****************************************** -->
<div id="mainFrame">
<p style="margin-left:200px">
<br>
Formulaire de contact avec le webmaster du Petit Journal de Montbrison
<br><br>
<span style="font-family:tahoma, sans-serif;">
<span style="color:red;">*</span>
<span style="font-size:14px;"> champ obligatoire</span>
</span>
</p>
<br>
<form name="formulaire" method="post" action="test.php" enctype="multipart/form-data">
<div style="margin-bottom:10px;">
<label for="nom"><span style="color:red;">*</span>Prénom, Nom :</label>
<input type="text" id="nom" name="nom" value="<?php echo $nom_value;?>" maxlength="60" required>
</div>
<div style="margin-bottom:10px;">
<label for="email"><span style="color:red;">*</span>e-mail :</label>
<input type="email" id="email" name="email" value="<?php echo $email_value;?>" maxlength="80" required>
</div>
<div style="margin-bottom:10px;">
<label for="telephone">Téléphone :</label>
<input type="tel" id="telephone" name="telephone" value="<?php echo $telephone_value;?>" maxlength="30">
</div>
<div style="margin-bottom:10px;">
<label for="msg"><span style="color:red;">*</span>Message :</label>
<textarea id="msg" name="message" required><?php echo $message_value;?></textarea>
</div>
<div style="margin-bottom:10px;">
<label for="fichier">Pièce jointe :</label>
<input type="file" id="fichier" name="fichier">
</div>
<div style="font-family:sans-serif; font-size:14px; margin-left:300px;">
Afin de vérifier que vous n'êtes pas un robot, merci de répondre à la question ci-dessous:
</div>
<div style="margin-bottom:10px; margin-left:300px;">
<span style="font-family:sans-serif; font-size:14px;">
<b>Combien de points sur les dés ? </b>
</span>
<img src="de_<?php echo $de1_value;?>.png" width="30" style="margin-right:5px;">
<img src="de_<?php echo $de2_value;?>.png" width="30" style="margin-right:5px;">
<img src="de_<?php echo $de3_value;?>.png" width="30" style="margin-right:5px;">
<span style="font-family:sans-serif; font-size:14px;">
(réponse en chiffres)
</span>
<input style="width: 50px;"type="text" id="resultat" name="resultat" maxlength="10" required>
<span style="color:red;"><b>
<?php
if ($erreur_resultat==true) {
echo " ERREUR !";
}
?>
</b></span>
</div>
<div>
<button class="button" style="height:40px; width:300px" type="submit" >Envoyer le message</button>
</div>
</form>
<br><br>
</div>
<!-- **************************************************** fin du cadre principal **************************************************** -->
Modifié par gcyrillus (02 Jul 2023 - 15:29)