Bonjour à tous !
J'ai un problème avec mon livre d'or. Avant tout fonctionnait bien, mais j'ai ajouté un Captcha (puisque des robots me laissaient des milliers de messages :s) et depuis, les nouveaux messages ne s'affichent pas. Je pense que le problème se situe au niveau de l'enregistrement des messages puisqu'ils n'apparaissent pas dans ma base de donnée mysql.. Voilà mes fichiers livre_or.php et verify.php (qui est chargé après livre_or).
Si je n'ai pas été assez clair dans mes explications, dites le moi.
Merci d'avance pour votre aide !
livre_or.php :
verify.php :
J'ai un problème avec mon livre d'or. Avant tout fonctionnait bien, mais j'ai ajouté un Captcha (puisque des robots me laissaient des milliers de messages :s) et depuis, les nouveaux messages ne s'affichent pas. Je pense que le problème se situe au niveau de l'enregistrement des messages puisqu'ils n'apparaissent pas dans ma base de donnée mysql.. Voilà mes fichiers livre_or.php et verify.php (qui est chargé après livre_or).
Si je n'ai pas été assez clair dans mes explications, dites le moi.
Merci d'avance pour votre aide !
livre_or.php :
<?php
require "config.php";
$sql = mysql_connect(DB_SERVER,DB_LOGIN,DB_PASS);
if (!$sql) {die('Ne peut se connecter : ' . mysql_error());}
$db_selected = mysql_select_db(DB_NAME, $sql);
if (!$db_selected) {die ('Ne peut utiliser DB_NAME : ' . mysql_error());}
mysql_query('SET NAMES '.DB_ENC);
$jour = time();
//TRAITEMENT DONNEES
if(!empty($_POST)){
extract($_POST);
$pseudo = mysql_real_escape_string(htmlentities($pseudo));
$email = mysql_real_escape_string(htmlentities($email));
$jour = mysql_real_escape_string(htmlentities($jour));
$message = mysql_real_escape_string(htmlentities($message));
$message = nl2br($message);
mysql_query("INSERT INTO objetsde_table (pseudo,email,jour,message) VALUES ('$pseudo','$email','$jour','$message')");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>xxx</title>
<meta name="author" content="xxx" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="icon" type="image/jpg" href="images/favicon.jpg" />
<!--[if IE]><link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /><![endif]-->
<link rel="stylesheet" media="screen" type="text/css" title="contact" href="livre_or.css" />
</head>
<body>
<div id="en_tete"></div>
<div id="menu"></div>
<div id="corps">
<div class="formulaire">
<h2>Livre d'or</h2>
<h4>Bienvenue dans le livre d'or de ce site. <br /> N'oubliez pas de déposer votre message !</h4>
<?php
// AFFICHAGE MESSAGES
require "config.php";
$link= "SELECT * FROM objetsde_table ORDER BY id DESC";
$req= mysql_query($link);
while($data= mysql_fetch_array($req))
{
echo '<p><strong>~ '.stripslashes(html_entity_decode($data['pseudo'])).' ~</strong> le ';
echo '<em>'.$jour = date('d.m.y').' :</em><br /></p>';
echo '<p style="color: red;">' .stripslashes(html_entity_decode(nl2br($data['message']))).'<hr /></p>';
}
mysql_close();
?>
<form name="livre_or" method="post" action="verify.php" onsubmit="return (valider() && VerifForm(this))">
<fieldset>
<legend>Ecrire un message</legend>
<label for="pseudo">Nom</label> : <input type="text" name="pseudo" id="pseudo" size="30"/><br /><br />
<label for="email">E-mail <em>(non visible)</em></label> : <input type="text" name="email" id="email" size="35"/><br /><br />
<label for="message">Message</label> : <br /><textarea name="message" id="message" rows="7" cols="55"></textarea><br />
<br /><center>
<?php
require_once('recaptchalib.php');
$publickey = "6Le07NASAAAAAGgjqiBX-KZOwdXMxZJMso0L07C7";
echo recaptcha_get_html($publickey);
?></center>
</fieldset>
<h5><input type="submit" value="Envoyer" /><input type="reset" value="Effacer"/></h5>
</form>
</div>
</div>
<div id="pied_de_page"></div>
<script type="text/javascript">
//<![CDATA[
function valider()
{
if ((document.livre_or.pseudo.value != "") && (document.livre_or.email.value != "") && (document.livre_or.message.value != ""))
{
return true;
}
else
{
alert('Tous les champs doivent être indiqués.');
return false;
}
}
function VerifForm(contact)
{
email = document.livre_or.email.value;
var place = email.indexOf("@",1);
var point = email.indexOf(".",place+1);
if ((place > -1)&&(email.length >2)&&(point > 1))
{
formulaire.submit();
return true;
}
else
{
alert('Adresse e-mail non valide.');
return false;
}
}
//]]>
</script>
</body>
</html>
verify.php :

<?php
require_once('recaptchalib.php');
$privatekey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$resp = recaptcha_check_answer ($privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
// What happens when the CAPTCHA was entered incorrectly
die ("The reCAPTCHA wasn't entered correctly. Go back and try it again." .
"(reCAPTCHA said: " . $resp->error . ")");
} else {
// Your code here to handle a successful verification
}
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>xxx</title>
<meta name="author" content="xxx" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="icon" type="image/jpg" href="images/favicon.jpg" />
<!--[if IE]><link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /><![endif]-->
<link rel="stylesheet" media="screen" type="text/css" title="contact" href="verify.css" />
</head>
<body>
<div id="corps">
<div class="texte">
<h2>Votre message a bien été enregistré</h2>
<p>Merci de suivre le lien suivant afin de retourner à la page d'accueil : <br />
<a href="index.html">Page d'accueil</a></p>
</div>
</div>
</body>
</html>
