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:
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
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>
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 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 }
dites moi svp ce qui ne va pas
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(); } ?>
merci infiniment
Partager