Dans un formulaire de contact avec captcha, lors du lancement de la page initiale, lorsque je clique contact, en local, la captcha n'affichait rien, ni en local et ni en ligne !
J'ai modifié le chemin d'accès qui est maintenant absolue, mais le problème reste le même .
<h3>Code anti-spams</h3>
<img src="http://qi98.free.fr//pages/contact/captcha.php"><br>
<input type="text" name="captcha" style=""><br>
<p>Tous les champs avec une <strong>*</strong> sont obligatoires</p>
Mais il y a d'important aussi,, c'est qu'aucune vérification des champ n'est faite, et je ne sais pas comment faire !
Pour ce formulaire, il est conseillé de mettre dans "entete_inc.php" (header)
<?php
session_start();
?>
J'ai lu sur https://www.php.net/manual/fr/function. ... -start.php à quoi servait différentes session, heu ! C'est nouveau pour moi comme code, et je me demande si c'est vraiment nécessaire ,
<?php /* contact.php */ ?>
(...)
<form method="POST" action="?page=verification">
<div align="left">Votre nom : *</div>
<input type="text" name="nom" id="nom" placeholder="Votre Nom">
<br><br>
<div align="left">Votre mail : *</div>
<input type="email" name="email" id="email" placeholder="Votre Email">
<br><br>
<div align="left">Sujet : *</div>
<input type="text" name="sujet" id="sujet" placeholder="Quel est votre sujet ?">
<br><br>
<div align="left">Message : *</div>
<textarea id="message" name="message" rows="5" cols="33" placeholder="Votre Message"></textarea>
<br><br>
<h3>Code anti-spams</h3>
<img src="http://qi98.free.fr//pages/contact/captcha.php"><br>
<input type="text" name="captcha" style=""><br>
<p>Tous les champs avec une <strong>*</strong> sont obligatoires</p>
<p><input type="submit" value="Envoyez"></p>
</form>
(...)
Et voici le code de vérification.:<?php
session_start();
$nom = utf8_decode($_POST['nom']);
$mail = ($_POST['email']);
$subject = utf8_decode($_POST['sujet']);
$message = utf8_decode($_POST['message']);
$headers = 'From: '.$nom.'<'.$mail.'>'."\r\n";
$headers .= 'Reply-to: <'.$mail.'>'."\r\n";
$to = 'mon_ [email protected]';
?>
(...)
<?php
if($_POST['captcha']==$_SESSION['captcha']){
mail($to, $subject, $message, $headers);
echo 'Votre message a bien été envoyé';}
else{
echo 'Tous les champs ne sont pas justes. <a href="?page=contact.php">Recommencez</a>';
}
?>
(...)
Aidez-moi SVP !
Merci d'avance.