Jump to content

Formulaire / Base De Donnee / Probleme D Accent / Probleme Anti-Spam


Recommended Posts

Bonjour, dans une page CMS j'ai cree un petit formulaire. le probleme : dans ma base de données les accents sont mal encodés. (pourtant l'interclassement dans ma base est sur utf8_unicode_ci)

pour é, à, è j ai Ã, ©Ã, è

 

mon formulaire a en entete

<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />

normal puisque j'ai creer une page cms depuis prestashop ...

 

le formulaire est du style

<form action="http://www.monsite.fr/tata.php" method="post">
	Societe: <br><input type="text" name="id" maxlength="110"/><br/> ect....

 

 

est ce dans le fichier ci dessous post traitement du formulaire tata.php qu il y aurait un probleme ? (car celui ci est fait maison) car la rien n'est déclaré en php concernant l encodage ...

<?php
// Parametres de connexion à la base de données
$BD_serveur	 = "***";
$BD_utilisateur = "***";
$BD_motDePasse  = "****";
$BD_base		= "****";

// Récupération des paramètres POST
$id	  = $_POST["id"];
$adresse  = $_POST["adresse"];
$code	 = $_POST["code"];
$ville = $_POST["ville"];
$pays = $_POST["pays"];
$activite = $_POST["activite"];
$mel = $_POST["mel"];
$tel = $_POST["tel"];
$site = $_POST["site"];
$toto = $_POST["toto"];


echo "Bonjour ".stripSlashes($id)." ".stripSlashes($nom).",<br/>";

@mysql_pconnect($BD_serveur, $BD_utilisateur, $BD_motDePasse)
	or die("Impossible de se connecter au serveur de bases de données.");
@mysql_select_db($BD_base)
	or die("Impossible de se connecter à la base de données.");

$requete = "INSERT INTO annu (id, adresse, code, ville, pays, activite, mel, tel, site)
			  VALUES ('$id','$adresse','$code','$ville', '$pays', '$activite', '$mel', '$tel', '$site')";
$result = @mysql_query($requete);
if (!$result) {
	echo "L enregistrement de vos donnees a echoue. Vous etes certainement deja inscrit sous ce nom.";
} else {
	echo "Felicitations.....r<br> ".
		 "<br />";
}

?>

Edited by le grenier (see edit history)
Link to comment
Share on other sites

Bonjour, autre chose, j'ai vu que l on pouvait "proteger" contre le spam son formulaire en creant un champ supplementaire "toto" non caché en indiquant aux visiteurs de ne pas remplir ce champs. Mais comment faire, coté traitement php (detail code ci dessus) pour verifier la condition que le champ toto est bien vide, et donc on valide l'enregistrement des donnees dans la base .

Si une ame généreuse pourrait me modifier le code pour que cela fonctionne.

je bidouille avec des if(empty($toto)) mais je ne sais pas écrire correctement le code ... merci d'avance ...

Link to comment
Share on other sites

petit up ! meme pas 2 jours que le forumulaire est en ligne que des robots malins ont déjà trouvé le truc ! j'ai déjà 10 inscriptions bidon .... si quelqu'un pourrait me donner comment faire dans mon fichier de traitement pour verifier que la champs "toto" est bien vide (donc qu'il s'agit bien d'un humain et pas d'une machine) et que donc je peux écrire les données dans ma base ...

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...