Bonjour, je dois faire un captcha pour mon Porte Folio dans mon formulaire de contact, je suis donc allez voir sur open classroom un tuto jusque là tout va bien.
j'ai un fichier capchat.php où il y les fonctions et un fichier de contactMail.php.
Pour vérifier que le $_POST de mon formulaire est correct avec le $_SESSION de ma fonction de faire une condition mais le problème c'est que même si c'est bon il me met "Le captcha n'est pas bon." j'ai pourtant vérifier et je ne vois pas l'erreurs.
ma Fonction
mon code de formulaire
est ce que quelqu’un a une idée du problème ?
Modifié par Rodolphe (22 Feb 2020 - 18:54)
j'ai un fichier capchat.php où il y les fonctions et un fichier de contactMail.php.
Pour vérifier que le $_POST de mon formulaire est correct avec le $_SESSION de ma fonction de faire une condition mais le problème c'est que même si c'est bon il me met "Le captcha n'est pas bon." j'ai pourtant vérifier et je ne vois pas l'erreurs.
ma Fonction
<?php
function motListe()
{
$liste = file('dico.text');
return trim($liste[array_rand($liste)]);
}
function motHasard($n)
{
// Séquence aléatoire
return substr(md5(uniqid()),0,$n);
}
function captcha()
{
$mot = motHasard(6);
//session_start ();
$_SESSION['captcha'] = $mot;
return $mot;
}
?>
mon code de formulaire
<?php
session_start();
require ('capchat.php') ;
?>
<?php
if(isset($_POST['mailform'])){
if(!empty($_POST['nom']) && !empty($_POST['mail']) && !empty($_POST['message']) && !empty($_POST['captcha']) ){//Si c'est pas vide
//session_start();
if($_POST['captcha'] == $_SESSION['captcha'] ) {
$msg = 'Le captcha est bon, votre nom est '.$_POST['nom'];
$header="MIME-Version: 1.0\r\n";
$header.='From:'.$_POST['nom'].'<'.$_POST['mail'].'>'."\n";
$header.='Content-Type:text/html; charset="uft-8"'."\n";
$header.='Content-Transfer-Encoding: 8bit';
$message='
<html>
<body>
<div align="center">
<br />
<u>Nom de l\'expéditeur :</u>'.$_POST['nom'].'<br />
<u>Mail de l\'expéditeur :</u>'.$_POST['mail'].'<br />
<br />
'.nl2br($_POST['message']).'
<br />
</div>
</body>
</html>
';
mail("contact@***", "CONTACT - camille-davidp15.fr", $message, $header);
$msg="Votre message a bien été envoyé !";
}
else{
$msg = 'Le captcha n\'est pas bon.';
}
}
else{
$msg="Tous les champs doivent être complétés !";
}
}
?>
<html>
<head>
<meta charset="utf-8" />
<link href="SourceMenuHeader.css" media="all" rel="stylesheet" type="text/css" />
<meta name="viewport" content="width=device-width"/>
<title>Contact</title>
<style>
#imgAccueil {
width: 50px;
height:50px;
}
.titrePage{
text-align: center;
font-family: 'Lobster Two', regular;
font-size: 70px;
}
.zoneTexte {
position: absolute;
margin-top: 350px;
margin-left: 240px;
background-color: #F9EBEA ;
width: 1092px;
height: 560px;
opacity: 0.9;
border-radius: 20px;
}
p#intro{
text-indent: 3em;
padding-left: 30px;
}
p#PDP {
margin-top: 33px;
}
.FormContact {
margin-left: 350px;
width: 450px;
}
</style>
</head>
<body>
<?php
include('menuHeader.php');
?>
<div class="zoneTexte">
<a href="Index.html"><img id="imgAccueil" src="../Images/Icones/iconeHome.png" alt="Retour Accueil"/></a>
<H1 class="titrePage">Contacter le webmaster</H1>
<p id="intro">
<form method="POST" action="" class="FormContact">
<fieldset>
<legend>Contact</legend>
Votre Nom: <input type="text" name="nom" placeholder="Votre nom" value="<?php if(isset($_POST['nom'])) { echo $_POST['nom']; } ?>" />
<br/><br/><!--Pour les value si elle existe on garde -->
Votre Mail : <input type="email" name="mail" placeholder="Votre email" value="<?php if(isset($_POST['mail'])) { echo $_POST['mail']; } ?>" />
<br/><br/>
Votre Message<textarea name="message" placeholder="Votre message"><?php if(isset($_POST['message'])) { echo $_POST['message']; } ?></textarea>
<br/><br/>
<label for="captcha">Recopiez le mot : "<?php echo captcha(); ?>"</label>
<input type="text" name="captcha" id="captcha" /><br />
<input type="submit" value="Envoyer !" name="mailform"/>
</fieldset>
</form>
<?php
if(isset($msg))//Si elle existe
{
echo $msg;
}
?>
</p>
<p id="PDP">
© Copyright tout droit reservé 2017 - ///
</p>
</div>
</body>
</html>
est ce que quelqu’un a une idée du problème ?
Modifié par Rodolphe (22 Feb 2020 - 18:54)