Bonjour tout le monde, et j'espere que je poste au bon endroit.
un truc me rend dingue et fou, ca fait des semaines que j'essaie de reperer l'erreur mais rien a faire.
j'ai mis en ligne un formulaire de 5 champs en utilisant jquery/Ajax. quand je regarde la base pour voir s'il y a eu des nouvelles inscription, je vois de nouveaux enregistrement mais vide!!
voici a quoi ressemble le formulaire: moroccan-arts.fr
la verification de la saisie se fait avec javascript. si javascript est desactivé, le formulaire ne peut etre soumis!
j'ai testé avec safari, firefox sur Mac, et ie6/7/8, chrome et firefox sur windows et ca marche bien...
voici les parties essentielles de mon code:
page html:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<html>
...
 
<script type="text/javascript">
	// Form validator & registration
	$("#form_register").validator({ 
		lang: 'en',
		position: 'top left', 
		offset: [1, 30],
		message: '<div><em/></div>' // em element is the arrow
	}).submit(function(e) {
		if (!e.isDefaultPrevented()) { // client-side validation OK.
			return form_insert(this, "/account/ajax/register-home.php");			
		}
	});
});
</script>
 
<form id="form_register" method="post">
	<p><input type="text" name="f_name" size="40" maxlength="40" required="required"></p>
	<p><input type="text" name="l_name" size="40" maxlength="40" required="required"></p>
 
	<p><button type="submit" class="btn"><span>Valider</span></button></p>
</form>
 
...
</html>
la fonction js form_insert():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function form_insert(form, url) {
	$('button').attr('disabled','true'); //desactiver le bouton pour eviter une double saisie
 
	form = $(form).fadeTo(300, 0.6);//appliquer un fade pdt la requete
 
	$.post(url, form.serialize(), function(msg) {
		if(msg == "ok") { // si OK
			Afficher message
		}
		else { // si requete echoue
			Afficher messsage d erreur
		}
	});
	return false; // empecher la soumission du formulaire
}
le ficher php:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
require_once($_SERVER['DOCUMENT_ROOT']."/inc/con-db.php");
 
$civility = $_POST['civility'];
$f_name = strip_tags(trim($_POST['f_name']));
$l_name = strip_tags(trim($_POST['l_name']));
$email = trim($_POST['email']);
$id_country = intval($_POST['id_country']);
$iso_lang = $_POST['iso_lang'];
 
$ins = $dbh->prepare("INSERT INTO directory (civility, f_name, l_name, email, id_country, iso_lang) VALUES (?, ?, ?, ?, ?, ?)");
if($ins->execute(array($civility, $f_name, $l_name, $email, $id_country, $iso_lang))) echo "inserted"; // if the INSERT succeeded
else {
	echo "msg d erreur";
	$db_error = $ins->errorInfo();
	report_mysql_error(__FILE__, __LINE__, $db_error[2]);
	exit();
}
 
?>
dites moi svp ce qui ne va pas
merci infiniment