Captcha et livre d'or
poky17
Messages postés
53
Statut
Membre
-
poky17 Messages postés 53 Statut Membre -
poky17 Messages postés 53 Statut Membre -
Bonjour,
Alors, je suis toujours avec mes Captcha, j'ai déjà posté à ce propos pour un formulaire de contact, en attendant une solution, je vous expose un autre problème.
Je dirais même que la mise en place d'un code obligatoire à taper est plus important. En effet, je me retrouve chaque jour avec des tonnes de messages non désirés déposés sur le site. Je suis obligée de les supprimer à partir de la base de données et ça devient vraiment pénible.
En fait, c'est une sorte de livre d'or où les gens peuvent me déposer un commentaire.
En gros, si les champs ne sont pas remplis, pas de problème, un message le signale.
Si les champs sont remplis, là, ça marche, ça affiche le message, mais par contre, le code obligatoire à taper n'est pas pris en compte du tout. Du coup, tous les messages passent.
Voici le code, sûrement un truc mal positionné... Merci à tous pour votre aide précieuse.
A bientôt.
Poky
<!-- content -->
<div id="content">
<h1>Témoignages soutien scolaire</h1>
<div class="text">
<center><p>Vous avez pris des cours particuliers avec Christelle, votre témoignage est important, merci pour votre contribution.</p>
<p>Les plus petits auront besoin de l'aide de maman ou papa.</p>
<p>Les plus grands, éviter le langage SMS et les fautes d'orthographe...</p>
<p>N'oubliez pas d'indiquer votre <strong>classe</strong> et la <strong>matière enseignée.</strong></p></center>
<?php
// Inclusion du fichier infos_sql.php
include 'infos_sql.php';
// Test du champ caché posted.
if($_POST['posted'])
{
// Si tous les champs sont remplis.
if(!empty($_POST['pseudo']) AND !empty($_POST['email']) AND !empty($_POST['message']))
{
// On nettoie les données (sauts de ligne en trop…).
$pseudo = trim(ucfirst(addslashes($_POST['pseudo'])));
$email = trim(addslashes($_POST['email']));
$message = trim(ucfirst(addslashes($_POST['message'])));
// On définit la requête d’insertion.
$insert = "INSERT INTO guestbook VALUES('','$pseudo','$email','$message','$date')";
// On exécute l’insertion des données dans la table.
$query = mysql_query($insert) OR die("Impossible d’ajouter le message<br>".mysql_error());
// On affiche un message de remerciement au visiteur.
echo '<script language="JavaScript">';
echo 'alert("Merci pour votre message !");';
echo '</script>';
}
// sinon on affiche un message d’erreur et on redirige.
else
{
echo '<script language="Javascript">';
echo 'alert("Remplissez chaque champ svp !");';
echo 'javascript:history.back(1);';
echo '</script>';
}
}
?>
<form action="<?php echo $PHP_SELF; ?>" method="POST">
<input type="hidden" name="posted" value="1">
<p><strong>Prénom :</strong></p>
<input type="text" name="pseudo" size="46">
<p><strong>e-mail : (votre adresse sera masquée sur le site)</strong></p>
<input type="text" name="email" size="46">
<p><strong>Message :</strong></p>
<textarea rows="10" name="message" cols="40">
Alors, je suis toujours avec mes Captcha, j'ai déjà posté à ce propos pour un formulaire de contact, en attendant une solution, je vous expose un autre problème.
Je dirais même que la mise en place d'un code obligatoire à taper est plus important. En effet, je me retrouve chaque jour avec des tonnes de messages non désirés déposés sur le site. Je suis obligée de les supprimer à partir de la base de données et ça devient vraiment pénible.
En fait, c'est une sorte de livre d'or où les gens peuvent me déposer un commentaire.
En gros, si les champs ne sont pas remplis, pas de problème, un message le signale.
Si les champs sont remplis, là, ça marche, ça affiche le message, mais par contre, le code obligatoire à taper n'est pas pris en compte du tout. Du coup, tous les messages passent.
Voici le code, sûrement un truc mal positionné... Merci à tous pour votre aide précieuse.
A bientôt.
Poky
<!-- content -->
<div id="content">
<h1>Témoignages soutien scolaire</h1>
<div class="text">
<center><p>Vous avez pris des cours particuliers avec Christelle, votre témoignage est important, merci pour votre contribution.</p>
<p>Les plus petits auront besoin de l'aide de maman ou papa.</p>
<p>Les plus grands, éviter le langage SMS et les fautes d'orthographe...</p>
<p>N'oubliez pas d'indiquer votre <strong>classe</strong> et la <strong>matière enseignée.</strong></p></center>
<?php
// Inclusion du fichier infos_sql.php
include 'infos_sql.php';
// Test du champ caché posted.
if($_POST['posted'])
{
// Si tous les champs sont remplis.
if(!empty($_POST['pseudo']) AND !empty($_POST['email']) AND !empty($_POST['message']))
{
// On nettoie les données (sauts de ligne en trop…).
$pseudo = trim(ucfirst(addslashes($_POST['pseudo'])));
$email = trim(addslashes($_POST['email']));
$message = trim(ucfirst(addslashes($_POST['message'])));
// On définit la requête d’insertion.
$insert = "INSERT INTO guestbook VALUES('','$pseudo','$email','$message','$date')";
// On exécute l’insertion des données dans la table.
$query = mysql_query($insert) OR die("Impossible d’ajouter le message<br>".mysql_error());
// On affiche un message de remerciement au visiteur.
echo '<script language="JavaScript">';
echo 'alert("Merci pour votre message !");';
echo '</script>';
}
// sinon on affiche un message d’erreur et on redirige.
else
{
echo '<script language="Javascript">';
echo 'alert("Remplissez chaque champ svp !");';
echo 'javascript:history.back(1);';
echo '</script>';
}
}
?>
<form action="<?php echo $PHP_SELF; ?>" method="POST">
<input type="hidden" name="posted" value="1">
<p><strong>Prénom :</strong></p>
<input type="text" name="pseudo" size="46">
<p><strong>e-mail : (votre adresse sera masquée sur le site)</strong></p>
<input type="text" name="email" size="46">
<p><strong>Message :</strong></p>
<textarea rows="10" name="message" cols="40">
A voir également:
- Captcha et livre d'or
- Captcha invalide ✓ - Forum Mozilla Firefox
- Livre coran en français pdf - Télécharger - Histoire & Religion
- Malheureusement, votre colissimo ne peut pas être livré. - Forum Consommation & Internet
- Télécharger livre de lecture ce2 gratuit pdf - Télécharger - Éducatifs
- No such file or directory ✓ - Forum Linux / Unix
6 réponses
Salut,
Ton champ hidden n'a rien d'extraordinaire, ce n'est pas un capcha, d'ailleurs je ne vois pas pourquoi ça le serait.
Ton champ hidden n'a rien d'extraordinaire, ce n'est pas un capcha, d'ailleurs je ne vois pas pourquoi ça le serait.
Merci pour ta réponse, mais ça ne me donne pas plus d'explications sur mon problème.
Merci encore.
Poky.
Merci encore.
Poky.
Ba si ça veut dire trouve un captcha, car ça n'en est pas un, google est ton ami, il existe des 10n de captcha acceptable, plus ou moins accessible, à toi de choisir.
Regarde ces discutions à ce sujet :
https://forum.alsacreations.com/topic-6-15022-1-Captcha-une-fatalite-.html
https://forum.alsacreations.com/topic.php?fid=20&tid=20597
Regarde ces discutions à ce sujet :
https://forum.alsacreations.com/topic-6-15022-1-Captcha-une-fatalite-.html
https://forum.alsacreations.com/topic.php?fid=20&tid=20597
Bonsoir,
Toujours en train de me battre pour les messages indésirables, merci s.spark pour ta réponse.
J'ai peut-être trouvé un truc plus simple.
Mais le code provoque une erreur.
Voici le message
Parse error: parse error, unexpected ')', expecting ']' in d:\www\info-bulle.net\htdocs\guestbook.php on line 149
C'est cette ligne de code :
{
if(!empty($_POST['verif')&&$_POST['verif']=='12')
{
Merci à tous.J'ai bien essayé de bidouiller () et [], mais ça ne va pas.
Poky
Toujours en train de me battre pour les messages indésirables, merci s.spark pour ta réponse.
J'ai peut-être trouvé un truc plus simple.
Mais le code provoque une erreur.
Voici le message
Parse error: parse error, unexpected ')', expecting ']' in d:\www\info-bulle.net\htdocs\guestbook.php on line 149
C'est cette ligne de code :
{
if(!empty($_POST['verif')&&$_POST['verif']=='12')
{
Merci à tous.J'ai bien essayé de bidouiller () et [], mais ça ne va pas.
Poky
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonsoir,
Oui, c'est ok, j'ai trouvé l'erreur, par contre, maintenant, mon message est validé sans tenir compte de la réponse à la question. Ce qui ne sert donc à rien.
Le code est sûrement mal placé.
Voici le code.
Merci à tous.
Poky
<?php
// Inclusion du fichier infos_sql.php
include 'infos_sql.php';
// Test du champ caché posted.
if($_POST['posted'])
{
// Si tous les champs sont remplis.
if(!empty($_POST['pseudo']) AND !empty($_POST['email']) AND !empty($_POST['message']))
{
// On nettoie les données (sauts de ligne en trop…).
$pseudo = trim(ucfirst(addslashes($_POST['pseudo'])));
$email = trim(addslashes($_POST['email']));
$message = trim(ucfirst(addslashes($_POST['message'])));
// On définit la requête d’insertion.
$insert = "INSERT INTO guestbook VALUES('','$pseudo','$email','$message','$date')";
// On exécute l’insertion des données dans la table.
$query = mysql_query($insert) OR die("Impossible d’ajouter le message<br>".mysql_error());
// On affiche un message de remerciement au visiteur.
echo '<script language="JavaScript">';
echo 'alert("Merci pour votre message !");';
echo '</script>';
}
// sinon on affiche un message d’erreur et on redirige.
else
{
echo '<script language="Javascript">';
echo 'alert("Remplissez chaque champ svp !");';
echo 'javascript:history.back(1);';
echo '</script>';
}
}
if(!empty($_POST))
{
if(!empty($_POST['verif'])&&$_POST['verif']=='12')
{
// on traite le formulaire
}
else
{
// Répondez à la question svp
}
}
else
{
echo '<form method="post" action="#">
// les champs du formualire + celui-ci :
<form action="<?php echo $PHP_SELF; ?>" method="POST">
<input type="hidden" name="posted" value="1">
<p><strong>Prénom :</strong></p>
<input type="text" name="pseudo" size="46">
<p><strong>e-mail : (votre adresse sera masquée sur le site)</strong></p>
<input type="text" name="email" size="46">
<p><strong>Message :</strong></p>
<textarea rows="10" name="message" cols="40"></textarea>
<br><br>
Question : combien font 3 multiplié par 4 ?
<input type="text" name="verif" />
<input type="submit" value="Poster votre message" />
</form>';
}
?>
<center>
<p>Les champs marqués de (*) sont obligatoires.</p></center>
<p>Toutes les informations personnelles que vous nous transmettez resteront strictement confidentielles et ne seront en aucun cas divulguées à des tiers. Conformément à la loi n° 78-17 du 06 janvier 1978 « Informatique et Libertés » vous disposez d'un droit d'opposition et de rectification de vos données personnelles.</p>
<?php
// On vérifie à quel endroit dans la table on récupère les messages.
if(!$start) {$start=0;}
// On effectue une requête de recherche et de sélection des messages.
$rec = mysql_query("SELECT * FROM guestbook ORDER BY id DESC LIMIT ".$start.",".$nb);
// On extrait les données une à une à l’aide d’une boucle While() ;
while ($row = mysql_fetch_assoc($rec))
{
?>
Oui, c'est ok, j'ai trouvé l'erreur, par contre, maintenant, mon message est validé sans tenir compte de la réponse à la question. Ce qui ne sert donc à rien.
Le code est sûrement mal placé.
Voici le code.
Merci à tous.
Poky
<?php
// Inclusion du fichier infos_sql.php
include 'infos_sql.php';
// Test du champ caché posted.
if($_POST['posted'])
{
// Si tous les champs sont remplis.
if(!empty($_POST['pseudo']) AND !empty($_POST['email']) AND !empty($_POST['message']))
{
// On nettoie les données (sauts de ligne en trop…).
$pseudo = trim(ucfirst(addslashes($_POST['pseudo'])));
$email = trim(addslashes($_POST['email']));
$message = trim(ucfirst(addslashes($_POST['message'])));
// On définit la requête d’insertion.
$insert = "INSERT INTO guestbook VALUES('','$pseudo','$email','$message','$date')";
// On exécute l’insertion des données dans la table.
$query = mysql_query($insert) OR die("Impossible d’ajouter le message<br>".mysql_error());
// On affiche un message de remerciement au visiteur.
echo '<script language="JavaScript">';
echo 'alert("Merci pour votre message !");';
echo '</script>';
}
// sinon on affiche un message d’erreur et on redirige.
else
{
echo '<script language="Javascript">';
echo 'alert("Remplissez chaque champ svp !");';
echo 'javascript:history.back(1);';
echo '</script>';
}
}
if(!empty($_POST))
{
if(!empty($_POST['verif'])&&$_POST['verif']=='12')
{
// on traite le formulaire
}
else
{
// Répondez à la question svp
}
}
else
{
echo '<form method="post" action="#">
// les champs du formualire + celui-ci :
<form action="<?php echo $PHP_SELF; ?>" method="POST">
<input type="hidden" name="posted" value="1">
<p><strong>Prénom :</strong></p>
<input type="text" name="pseudo" size="46">
<p><strong>e-mail : (votre adresse sera masquée sur le site)</strong></p>
<input type="text" name="email" size="46">
<p><strong>Message :</strong></p>
<textarea rows="10" name="message" cols="40"></textarea>
<br><br>
Question : combien font 3 multiplié par 4 ?
<input type="text" name="verif" />
<input type="submit" value="Poster votre message" />
</form>';
}
?>
<center>
<p>Les champs marqués de (*) sont obligatoires.</p></center>
<p>Toutes les informations personnelles que vous nous transmettez resteront strictement confidentielles et ne seront en aucun cas divulguées à des tiers. Conformément à la loi n° 78-17 du 06 janvier 1978 « Informatique et Libertés » vous disposez d'un droit d'opposition et de rectification de vos données personnelles.</p>
<?php
// On vérifie à quel endroit dans la table on récupère les messages.
if(!$start) {$start=0;}
// On effectue une requête de recherche et de sélection des messages.
$rec = mysql_query("SELECT * FROM guestbook ORDER BY id DESC LIMIT ".$start.",".$nb);
// On extrait les données une à une à l’aide d’une boucle While() ;
while ($row = mysql_fetch_assoc($rec))
{
?>