Bonjour à tous,

J'utilise le plugin form validate de jquery.

Je voudrais tester la disponibilité d'un login, savoir si il existe ou non dans la BD.

Après plusieurs recherches, j'ai trouvé la méthode remote.

J'ai donc codé ceci qui ne semble pas fonctionner :

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
login: {
	minlength: 4,
	required: true,
	remote: {
		url: "PHP/enregistrement_utilisateurs.php",
		type: "POST",
		data: {
			'login_propose': $("#login").val(),
			'action':'verifier_login'
		},
		dataType:'text',
		success:function(retour_php){
			alert(retour_php);
		},
		error:function(retour_php){
			alert('dans erreur script.js'+ retour_php);
		}
	}
},
Le code côté PHP :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
case 'verifier_login':
    $recurrence = Manager_Utilisateurs::login_libre($_POST['login_propose']);
    if(empty($recurrence))
    {
        echo 0;
    }
    else
    {
        echo 1;
    }     
    break;

et la méthode appelée :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 public static function login_libre($login)
{
    $q = DB::getInstance()->prepare("SELECT login FROM clients WHERE login = :login");
    $q->bindValue(':login',$login);
    $q->execute();
    $res = $q->fetch(PDO::FETCH_OBJ);
    return $res;
}

J'obtiens cette erreur côté PHP :

[06-Aug-2013 16:42:15 Europe/Berlin] PHP Notice: Undefined index: action in /Applications/MAMP/htdocs/imaginatiff/reservations/PHP/enregistrement_utilisateurs.php on line 10
alors qu'un print_r m'indique action:'verifier_login'

Je ne pense pas que le problème soit là, je pense que j'utilise incorrectement la méthode remote.


Auriez-vous une idée svp ?

Merci d'avance.

bee