Salut, j'ai un problème en utilisant $.post(...,{...}, function(data){...});
voici une partie du code php:


Code php : 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
if($valid){
            $req = $bdd->prepare('SELECT * FROM membre WHERE pseudo=:pseudo');
            $req->execute(array(':pseudo'=>$pseudo));
            if($req->rowCount()>0){
              $valid = false;
              $pseudoerreur = 'Pseudo déja pris';
 
              if($_POST['ajax']==1){
                  echo 'Pseudo pris';
                  exit();
              }
 
            $req = $bdd->prepare('select * from membre where email=:email');
            $req->execute(array(':email'=>$email));
            if($req->rowCount()>0){
               $valid = false;
               $emailerreur = 'email existant';
 
               if($_POST['ajax']==1){
                  echo 'Email existant';
                  exit();
              }
            }
            $req->closeCursor();
 
 
            if($valid){
 
 
 
                  $req = $bdd->prepare('INSERT INTO membre (pseudo,email,pass) VALUES (:pseudo,:email,:pass)');
                  $req->execute(array(':pseudo'=>$pseudo,':email'=>$email,':pass'=>sha1($pass)));
                  $req->closeCursor();
 
                  if($_POST['ajax']==1){
                        echo true;
                        exit();
                  }
                  else{
                       header('location: index.html'); 
                  }
 
            }
}

et voici mon script jquery:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
                    $('#signup-submit').click(function(){
                    $('.loader').show();
 
 
                    /*Récupérer pseudo, email et pass dans des variables ainsi la page à laquelle les variables seront envoyées et une variable de test*/
                    var link = 'signup.php';
                    var pseudo = $('#pseudo').val();
                    var email = $('#email').val();
                    var pass = $('#signup-pass').val();
                    var valid = true;
 
 
                    /*vérifier un pseudo vide*/
                    if($('#pseudo').val()=='')
                    {
                        valid = false;
                        $('.loader').fadeOut();
                        $('#pseudo').next('.error').fadeIn();
                    }
                    else
                    {
                       $('.loader').fadeOut(); 
                       $('#pseudo').next('.error').fadeOut();
                    }
 
 
 
                    /*vérifier un email valide*/                                        
                    if(!$('#email').val().match('/^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/'))
                    {
                     $valid = false;
                     $('.loader').fadeOut();
                     $('#email').next('.error').fadeIn();
                    }
                    else
                    {
                     $('.loader').fadeOut();
                     $('#email').next('.error').fadeOut();   
                    }
 
 
                    /*vérifier un mot de passe vide*/
                    if($('#signup-pass').val()=='')
                    {
                        valid = false;
                        $('.loader').fadeOut();
                        $('#signup-pass').next('.error').fadeIn();
                    }
                    else
                    {
                       $('.loader').fadeOut(); 
                       $('#signup-pass').next('.error').fadeOut();
                    }
 
 
                    /*Si valid est true*/
                    if(valid)
                    {
                        $.post(link,{pseudo: pseudo, email: email, pass: signup-pass, ajax: '1'},
                               function(data){
                                    if(data==true)
                                    {
                                      $('#signup-form').slideUp();
                                      $('#success-message').sldeDown().text('Consultez votre email');
                                    }
                                    else if(data=='Pseudo pris')
                                    {
                                      $('.loader').fadeOut();
                                      $('#pseudo').next('.error').fadeIn();
                                    }
                                    else if(data=='Email existant')
                                    {
                                     $('.loader').fadeOut();
                                     $('#email').next('.error').fadeIn();   
                                    }
                                });
                    }
 
 
                    return false;
                });
Il m'affiche l'erreur Notice: Undefined index: ajax in...

J'ai compris que la variable ajax dans $.post n'est pas envoyée vers ma page php.

Merci d'avance.