Pages: 1
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !

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
|

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
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !

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?
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !

Membre
|
SVP POUVEZ-VOUS BIEN M'AIDER ?????
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !

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
|

Admin
|
Bonjour,
crée un répertoire "sessions" dans ton site, ça devrait fonctionner.
Cordialement
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !

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!
|

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
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !

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
|

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
|
Celui qui sacrifie sa liberté pour sa sécurité, ne mérite aucune des deux !

Membre
|
Bonjour,
désolé! malgré tous ça, je n'y arrive pas ...
Franchement j'ai besoin de votre aide( si vous voulez bien )
|

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.
|
Pages: 1
|