Probleme sur un formulaire envoyé en ajax
Salut à tous,
je bug sur un problème que je n'arrive pas à résoudre :
Lorsque je regarde avec firebug au niveau de la console les infos j'ai le controller qui traite les informations passées par la méthode $.post de jquery qui est appelé 2 fois avec 2 retour de résultat (les mêmes bien entendu).
Voici mon code :
login.js :
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 28 29 30 31 32 33 34 35 36 37 38 39
| $(document).ready(function() {
$("#form_loggin").live('submit', function(event) {
// $("#submit_login").click(function(event) {
$("#account").children('#error_message').html('');
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
// var emailReg = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)+@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/';
// stop form from submitting normally
event.preventDefault();
// get some values from elements on the page:
var $form = $( this ),
mail = $form.find( 'input[name="mail"]' ).val(),
password = $form.find( 'input[name="password"]' ).val(),
url = $form.attr( 'action' );
if (mail == '') { $("#account").children('#error_message').html('Précisez votre mail.'); return false;}
if (password == '') { $("#account").children('#error_message').html('Indiquez votre mot de passe.'); return false;}
if (!emailReg.test(mail)) { $("#account").children('#error_message').html('Mail non valide.'); return false; }
PreloadImg('account'); c'est juste pour masquer la div de log et afficher une image à la place
// Send the data using post and put the results in a div
$.post(url,
{'mail' : mail,
'password' : password,
'ajax' : '1'},
function success(data) { // retour de résultat différent en fonction que l'utilisateur est été trouvé ou pas
if (data) {
// $("#column_left").hide(); // hiding form
$('#column_left').html(data);
$("#column_left").fadeIn(800);
}
}
);
});
}); |
Le block account dans la colonne gauche est celui-ci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <div id="account">
<h3>ACCOUNT!</h3>
<!-- <div class="loading"></div> //-->
<div id="error_message" style="color:#FF0000;"></div>
<form action="http://www.site-de-test.com/login/check_user_login" id="form_loggin" method="post" accept-charset="utf-8"><p>
<label for'username'>username</label>
<input type="text" name="mail" value="" class="mail textbox" style="width:150px;" /><br />
</p>
<p>
<label for'password'>password</label>
<input type="password" name="password" value="" class="password textbox" style="width:150px;" /><br />
</p>
<p>
<br><input type="submit" name="submit_login" value="Connexion" id="account" /></p>
</form>
</div> |
Ensuite dans mon controller je traite les infos envoyées et je retourne les vues pour réafficher la colonne de gauche avec les nouvelles infos.
Quand je fais cela avec firebug, au tout début j'ai le controller (http://www.site-de-test.com/login/check_user_login) appelé 2 fois et qui retourne le même code html, est-ce que quelqu'un sait pourquoi?
Aussi je souhaiterai savoir si ce genre de formulaire est bien sécurisé?
Merci bien...