Captcha
poky17
Messages postés
53
Statut
Membre
-
poky17 Messages postés 53 Statut Membre -
poky17 Messages postés 53 Statut Membre -
Bonsoir à tous,
J'avais rédigé ce message il y a quelques jours, mais je m'aperçois que je n'avais pas donné le bon lien, alors je rectifie.
Ras le bol d'être envahie par des messages non désirés sur mon site pour un formulaire.
Alors, j'ai trouvé cryptograph.
L'installation s'est bien déroulée, j'ai suivi les consignes.
Mais, en fait ça ne fonctionne pas.
Il prend les messages même si le code n'est pas rentré.
A savoir dans mon formulaire, tous les champs sont obligatoires.
A mon avis, c'est pas grand chose et ça doit se mélanger avec le code de mon formulaire, mais là je cale.
Pour l'aide je vous donne le lien www.cryptographp.com
Et voici, un bout de mon code.
Merci à tous de votre aide précieuse.
On n'est jamais déçu ici...
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>';
}
}
?>
<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>
<form action="crypt/verifier.php" method="post">
<table>
<tr><td><?php dsp_crypt(0,1); ?></td></tr>
<tr><td>Recopier le code:<input type="text" name="code"></td></tr>
<tr><td><input type="submit" name="submit" value="Valider"></td></tr>
<tr><td><input type="reset" value="Annuler" name="reset"></td></tr>
</table>
</form>
J'avais rédigé ce message il y a quelques jours, mais je m'aperçois que je n'avais pas donné le bon lien, alors je rectifie.
Ras le bol d'être envahie par des messages non désirés sur mon site pour un formulaire.
Alors, j'ai trouvé cryptograph.
L'installation s'est bien déroulée, j'ai suivi les consignes.
Mais, en fait ça ne fonctionne pas.
Il prend les messages même si le code n'est pas rentré.
A savoir dans mon formulaire, tous les champs sont obligatoires.
A mon avis, c'est pas grand chose et ça doit se mélanger avec le code de mon formulaire, mais là je cale.
Pour l'aide je vous donne le lien www.cryptographp.com
Et voici, un bout de mon code.
Merci à tous de votre aide précieuse.
On n'est jamais déçu ici...
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>';
}
}
?>
<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>
<form action="crypt/verifier.php" method="post">
<table>
<tr><td><?php dsp_crypt(0,1); ?></td></tr>
<tr><td>Recopier le code:<input type="text" name="code"></td></tr>
<tr><td><input type="submit" name="submit" value="Valider"></td></tr>
<tr><td><input type="reset" value="Annuler" name="reset"></td></tr>
</table>
</form>
4 réponses
bizarre... j'avais répondu au post précédent, mais la réponse n'y apparait pas. mystere de ccm.
je refais exactement la meme réponse que précédemment :
tu as deux post action dans la meme page !!
l'un qui dirige vers self, l'autre vers le verifieur... donc forcément, le mail est envoyé/ les données sont introduites dans la base, puisque l'un des deux n'a pas de vérifieur !
au passage, tu ouvres deux forms, et tu n'en fermes qu'un.
tout doit etre envoyé a verifier.php et non pas a self !! et c'est verifier, qui s'il est juste, doit insérer les données! donc toute ta partie de vérif des données dans self, et de requete d'insertion n'a pas lieu d'etre !
je refais exactement la meme réponse que précédemment :
tu as deux post action dans la meme page !!
l'un qui dirige vers self, l'autre vers le verifieur... donc forcément, le mail est envoyé/ les données sont introduites dans la base, puisque l'un des deux n'a pas de vérifieur !
<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> <form action="crypt/verifier.php" method="post"> <table> <tr><td><?php dsp_crypt(0,1); ?></td></tr> <tr><td>Recopier le code:<input type="text" name="code"></td></tr> <tr><td><input type="submit" name="submit" value="Valider"></td></tr> <tr><td><input type="reset" value="Annuler" name="reset"></td></tr> </table> </form>
au passage, tu ouvres deux forms, et tu n'en fermes qu'un.
tout doit etre envoyé a verifier.php et non pas a self !! et c'est verifier, qui s'il est juste, doit insérer les données! donc toute ta partie de vérif des données dans self, et de requete d'insertion n'a pas lieu d'etre !
Bonsoir,
Merci beaucoup pour tous ces précieux conseils, ça devrait le faire.
Dès que j'ai un peu de temps, je me penche sur tout ça et je te tiens au courant.
Merci encore.
Poky
Merci beaucoup pour tous ces précieux conseils, ça devrait le faire.
Dès que j'ai un peu de temps, je me penche sur tout ça et je te tiens au courant.
Merci encore.
Poky
Bonjour,
Bon, alors des nouvelles toutes fraîches !!!
ça va un peu mieux, j'ai essayé sur un formulaire de contact.
Les infos sont renvoyées sur une page qui s'appelle traitement.php, j'ai donc tout mis dedans.
Alors, maintenant, si le code est absent ou incorrect, il affiche le message correspondant, mais il valide le formulaire quoi qu'il arrive.
D'ailleurs, il doit y avoir une erreur quelque part, car les champs obligatoires s'ils ne sont pas remplis, on le signale, mais ça valide aussi.
Je vous fournis l'extrait de code de traitement.php.
Merci à tous.
Poky
<!-- content -->
<div id="content">
<h1>Fomulaire validé</h1>
<div class="text">
<p align="center"> Votre message a bien été envoyé et sera traité très prochainement.</>
<p align="center">Merci de votre visite.</p>
<?php
// vérification des champs
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['email']))
$message .= "Votre email<br/>";
if (empty($_POST['tel']))
$message .= "Votre téléphone<br/>";
if (empty($_POST['comments']))
$message .= "Votre message<br/>";
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
} else
// Informations d'entête du mail:
$headers ="MIME-Version: 1.0\r\n";
$headers .='From: Formulaire InfoBulle';
$headers .='Reply-To: contact@info-bulle.net' ." \r\n";
$headers .='Content-Type: text/plain; ';
$headers .='charset="iso-8859-1"'."\r\n";
$headers .="Content-Transfer-Encoding: 8bit\r\n";
$headers .='X-Mailer:PHP/' . phpversion() . "\r\n";
// sujet du mail
$sujet = "Formulaire du site";
// corps du mail
$message ="\n Civilité : $civilite \n Nom : $nom \n Adresse : $adresse \n Email : $email \n Tél : $tel \n Commentaires : $comments";
$retval = mail("contact@info-bulle.net",$sujet,$message,$headers);
if (chk_crypt($_POST['code']))
echo "<a><font color='#009700'>=> Bravo, vous avez saisi le bon code !</font></a>" ;
else echo "<a><font color='#FF0000'>=> Erreur, le code est incorrect</font></a>" ;
?>
Bon, alors des nouvelles toutes fraîches !!!
ça va un peu mieux, j'ai essayé sur un formulaire de contact.
Les infos sont renvoyées sur une page qui s'appelle traitement.php, j'ai donc tout mis dedans.
Alors, maintenant, si le code est absent ou incorrect, il affiche le message correspondant, mais il valide le formulaire quoi qu'il arrive.
D'ailleurs, il doit y avoir une erreur quelque part, car les champs obligatoires s'ils ne sont pas remplis, on le signale, mais ça valide aussi.
Je vous fournis l'extrait de code de traitement.php.
Merci à tous.
Poky
<!-- content -->
<div id="content">
<h1>Fomulaire validé</h1>
<div class="text">
<p align="center"> Votre message a bien été envoyé et sera traité très prochainement.</>
<p align="center">Merci de votre visite.</p>
<?php
// vérification des champs
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['email']))
$message .= "Votre email<br/>";
if (empty($_POST['tel']))
$message .= "Votre téléphone<br/>";
if (empty($_POST['comments']))
$message .= "Votre message<br/>";
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
} else
// Informations d'entête du mail:
$headers ="MIME-Version: 1.0\r\n";
$headers .='From: Formulaire InfoBulle';
$headers .='Reply-To: contact@info-bulle.net' ." \r\n";
$headers .='Content-Type: text/plain; ';
$headers .='charset="iso-8859-1"'."\r\n";
$headers .="Content-Transfer-Encoding: 8bit\r\n";
$headers .='X-Mailer:PHP/' . phpversion() . "\r\n";
// sujet du mail
$sujet = "Formulaire du site";
// corps du mail
$message ="\n Civilité : $civilite \n Nom : $nom \n Adresse : $adresse \n Email : $email \n Tél : $tel \n Commentaires : $comments";
$retval = mail("contact@info-bulle.net",$sujet,$message,$headers);
if (chk_crypt($_POST['code']))
echo "<a><font color='#009700'>=> Bravo, vous avez saisi le bon code !</font></a>" ;
else echo "<a><font color='#FF0000'>=> Erreur, le code est incorrect</font></a>" ;
?>