Créer un compte
Connexion

Mettre un captcha dans un formulaire

Pour créer et répondre aux sujets, vous devez être connecté.
Pages: 1
Auteur Message
Aglzime
19/04/2010 à 13:08:19
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
<couleur valeur="bleu"/>Bonjour tout le monde,
Comme l'indique mon titre, je cherche à mettre un champ de sécurité en bas de mon formulaire pour lutter contre les spames ( soit par une image CAPTCHA ou une question ) , malgré de nombreuses recherche sur la toile, les résultats qui reviennent le plus souvent c'est " soit le code ne fonctionne pas, soit l'image du captcha ne s'affiche pas...) bref j'ai pas encore trouver un script fonctionnel!
Si vous pouvez bien m'aidé, ça sera gentil!
Merci d'avance


ybouane
20/04/2010 à 01:01:56
ybouane
Admin
Bonjour,
regarde celui là:
http://www.white-hat-web-design.co.uk/articles/php-captcha.php
C'est très simple, donc si ça ne fonctionne pas, ça veut dire que ton hebergeur ne supporte par la librairie GD donc tu ne peut pas utiliser de captcha.

Cordialement :)

Image
Aglzime
20/04/2010 à 13:14:18
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Re bonjour;
Désolé si j'ai pas précisé que mon site est hébérgé chez FREE donc, je dispose sans doute la librairie GD ( d'après le test "phpinfo"), Merci pour le liens que tu m'as passé, j'ai téléchargé le script et ça fonctionne très bien, juste que j'ai ce message d'erreur en haut de ma page
"Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/160/sdb/7/1/monsite/formulaire.php:1) in /mnt/160/sdb/7/1/monsite/formulaire.php on line 1" par contre j'ai bien l'image de sécurité en bas de mon formulaire et tout fonctionne très bien juste cette ligne d'erreur qui me gène :colaire: en haut de la page.
Je précise que j'ai bien met <?php session_start(); ?> dans le code de ma page (en tout haut avant <html><head>....., donc merci de votre aide!!
que faut-il faire?


Aglzime
22/04/2010 à 17:44:09
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
SVP POUVEZ-VOUS BIEN M'AIDER ?????

Aglzime
22/04/2010 à 20:06:20
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Merci quand même, j'arrive maintenant à stocker les données dans la table BDD, Mais j'ai toujours le message d'erreur en haut de ma page :' Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /mnt/160/sdb/7/1/monsite/mapage.php:1) in /mnt/160/sdb/7/1/monsite/mapage.php on line 1 je ne comprends plus rien'
pour vous faciliter la tàche voici le code de ma page (copier/ coller):

<?php session_start();?>
<?php
###################################################################
####################################################################
################ DATABASE CONFIGURE ##############################
####################################################################
$hostname = "sql.free.fr"; // usually is localhost, but if not sure, check with your hosting company, if you are with webune leave as localhost
$db_user = "****"; // change to your database password
$db_password = "****"; // change to your database password
$database = "****"; // provide your database name
$db_table = "****"; // leave this as is


# STOP HERE
####################################################################
# THIS CODE IS USED TO CONNECT TO THE MYSQL DATABASE
$db = mysql_connect($hostname, $db_user, $db_password);
mysql_select_db($database,$db);
?>
<html>
<head>
<title>le titre de la page</title>
</head>
<body>

<?php
if (isset($_REQUEST['Submit'])) {
# THIS CODE TELL MYSQL TO INSERT THE DATA FROM THE FORM INTO YOUR MYSQL TABLE
  if( $_SESSION['security_code'] = $_POST['security_code'] && !empty($_SESSION['security_code'] ) ) {
$sql = "INSERT INTO $db_table(pseudo,message) values ('".mysql_real_escape_string(stripslashes($_REQUEST['pseudo']))."','".mysql_real_escape_string(stripslashes($_REQUEST['message']))."')";
if($result = mysql_query($sql ,$db)) {
echo '<h1>Thank you</h1>Your information has been entered into our database<br><br>';
} else {
echo "ERROR: ".mysql_error();
}
}
} else {
?>
<h1>Poster un commentaire</h1><hr>
<form method="post" action="">
Name:<br>
<input type="text" name="pseudo">
<br>
Commentaire: <br>
<textarea type="text" rows="8" cols="35" name="message">
</textarea>
<br>
        <img src="all/CaptchaSecurityImages.php?width=100&height=40&characters=5" /><br />
                <label for="security_code">Security Code: </label><input id="security_code" name="security_code" type="text" /><br /><br>
<input type="submit" name="Submit" value="Submit">
</form>
<?php
}
?>
</body>
</html>

Merci d'avance

ybouane
22-04-2010 à 23:11:42
ybouane
Admin
Bonjour,
crée un répertoire "sessions" dans ton site, ça devrait fonctionner.

Cordialement :)

Image
Aglzime
23/04/2010 à 11:20:54
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Bonjour,
Quote: Ybouane
crée un répertoire "sessions" dans ton site, ça devrait fonctionner.
Merci pour ta réponse mais j'ai déjà le répertoire "sessions" à la racine de mon site. Donc qu'est ce que ça peut être encore??
S'il vous plaît j'ai vraiment besoin d'un captcha ou quel que chose qui pourra arrêter les spams!
Merci d'avance!


ybouane
24/04/2010 à 05:32:02
ybouane
Admin
Bonjour,
Alors vérifie qu'il n'y a pas de saut de ligne ou d'espace au début de ton fichier php.

Et est-ce que ton fichier est inclus dans un autre, du genre index.php?page=mapage (le fichier index.php inclu de fichier mapage.php)

Cordialement :)

Image
Aglzime
24-04-2010 à 11:43:11
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Bonjour,
Merci YBOUANE ;)
non ça venait pas de cela , j'ai trouver enfin pourquoi j'ai la ligne!
Pour ceux qui ont le même problème que moi ,
C'est que:
Le format de ma page est 'Encodage UTF-8 ' maintenant que je l'ai converti en 'Encodage ANSI' je n'ai plus le message d'erreur en haut de ma page,
la il ne me reste plus qu'à sauvegarder les données de mon formulaire sur ma BDD ( une fois le code ' captcha' saisi est le bon ).
Mais je ne sais pas comment faire pour sauvegarder les données de mon formulaire après la vérification de tout les champs (pseudo, message) et aussi vérifier si le code est le bon en cas contraire afficher un message d'erreur


Merci de votre aide

Cordialement


ybouane
24/04/2010 à 15:37:53
ybouane
Admin
Bonjour,
en ce qui concerne la vérification du code, ton code le fait déjà.
Et pour enregistrer les données dans la BDD, je te conseil d'apprendre à utiliser le MYSQL:
http://www.siteduzero.com/tutoriel-3-14668-un-site-dynamique-avec-php.html#part_14671

Cordialement :)

Image
Aglzime
26/04/2010 à 21:04:56
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux ! Aglzime
Membre
Bonjour,
désolé! malgré tous ça, je n'y arrive pas  -_- ...
Franchement j'ai besoin de votre aide( si vous voulez bien  :D )

ybouane
27/04/2010 à 02:20:36
ybouane
Admin
Une erreur s'est produite <strong>Veuillez signaler le bug dans le forum de bugs</strong><br /><strong>Si vous ne pouvez pas, </strong> contactez nous par le formulaire de contact.

Image
Pages: 1