insertions vides dans formulaire
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!! 8O
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:
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:
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:
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