Bonjour,
J'ai un formulaire HTML
Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <div id="search-box" class="search-box map search-box-wrapper"> <form id="form-login" methof="POST" class="form-map form-search"> <h2>Login</h2> <div class="form-group"> <input type="text" name="email" class="field" value="" placeholder="email" /> </div><!-- /.form-group --> <div class="form-group"> <input type="password" name="pwd" class="field" value="" placeholder="password" /> </div><!-- /.form-group --> <div class="form-group"> <button type="submit" class="btn btn-default">login</button> </div><!-- /.form-group --> </form><!-- /#form-map --> </div><!-- /.search-box.map -->
Je souhaiterais récupérer les valeurs de 'email' et 'pwd'
Dans mon fochier script.js, j'ai fait ceci
Code JQUERY : 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 // Login user $( "#form-login" ).on("submit", function(e){ e.preventDefault(); var $forme = $(this); console.log($forme.serialize()); var $form = $( this ), email = $form.find( "input[name='email']" ).val(), pwd = $form.find( "input[name='pwd']" ).val(); console.log(email, pwd) getUser($forme); getUser(email, pwd); });
mon console.log() affiche bien les valaurs que j'ai saisi dans mon formulaire
Puis j'ai choisi de récupéerer les valeur de $forme, pour les serialiser dans ma fonction getUser().
Vu que cela ne fonctionne pas, j'ai ajouté data:{email:"demo@email.ch", pwd:"password"},
my fonction getUser est comme ceci
Code JQUERY : 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 function getUser(form){ console.log(form); return $.ajax({ url: 'https://api.domaine.ch/dashboard/getUser.inc.php', type: 'POST', //data: param, //data: form.serialize(), data:{email:"demo@email.ch", pwd:"password"}, cache: false, dataType: 'json', // xhr For testing xhr: function () { var xhr = $.ajaxSettings.xhr(); xhr.onprogress = function e() { // For downloads if (e.lengthComputable) { console.log("Onprogress ", e.loaded / e.total); } }; xhr.upload.onprogress = function (e) { // For uploads if (e.lengthComputable) { console.log("Upload onprogress ", e.loaded / e.total); } }; return xhr; }, error: function (request, error) { console.log("Error while getting user authentification"); console.log("ERROR:" , request.responseText); }, success: function (data) { //console.log("data:",data); if(data.length <= 0) { } else { console.log("data success: ",data); } } }); }
Ce que je en comprends pas, c'est que si je saisi l'api (j'ai modifié le nom de domaine
https://api.domaine.ch/dashboard/get...h&pwd=password
Cela fonctionne très bien. Je ne comprends donc pas pourquoi, quand je saisi ces valeurs en dur, cela ne fonctionne pas
Cette partie
Code : Sélectionner tout - Visualiser dans une fenêtre à part data:{email:"demo@email.ch", pwd:"password"},
me retourne le message d'erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 error: function (request, error) { console.log("Error while getting user authentification"); console.log("ERROR:" , request.responseText); },
On voit, dans la dernière ligneUpload onprogress 1 script.js:61:29
Error while getting user authentification script.js:68:24
ERROR: <br />
<b>Warning</b>: Trying to access array offset on value of type null in <b>/home/clients/ee3f943e731fc0a12d3400116692186f/sites/api.domaine.ch/dashboard/getUser.inc.php</b> on line <b>28</b><br />
<br />
<b>Warning</b>: Trying to access array offset on value of type null in <b>/home/clients/ee3f943e731fc0a12d3400116692186f/sites/api.domaine.ch/dashboard/getUser.inc.php</b> on line <b>29</b><br />
{"id_user":0,"user_role":0,"user_email":null,"user_fields":[],"message":"Your e-mail or your password is not valid","code":-1,"method":"POST"}
que mon script PHP, me retourne bien quelque chose, mais il semble qu'il ne reçoit pas les paramètres.
Code : Sélectionner tout - Visualiser dans une fenêtre à part {"id_user":0,"user_role":0,"user_email":null,"user_fields":[],"message":"Your e-mail or your password is not valid","code":-1,"method":"POST"}
Pourtant, depuis mon application IOS/Android, mon API fonctionne très bien, et je peux m'authentifier.
Mistère
Dans le message d'erreur, le message fait référence à la ligne 28 et 29.
A ces ligne, j'ai ceci, et je me demande si ce n'est pas là que ca bug
En fait, je suis presque sûre que c'est ici que ca bug. Mais pourant dans mon script.js, je fais bien une requête https?
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 switch ($method) { case 'POST': # Get POST the data $encodedData = file_get_contents('php://input'); // take data from react native fetch API $decodedData = json_decode($encodedData, true); $email = $decodedData['email']; $pwd = $decodedData['pwd']; $continue = true; break; default: $continue = false; break; }
Ou pensez-vous que ça bug???
Code : Sélectionner tout - Visualiser dans une fenêtre à part url: 'https://api.domaine.ch/dashboard/getUser.inc.php',
Merci beaucoup pour vos lumières





Répondre avec citation



Partager