Bonjour,

Je suis très perplexe : je passe, à partir d'une fonction Ajax, deux paramètres à un script Php qui doit me retourner une string.

Mes paramètres passés : $_POST['age'] qui vaut 13 et $_POST['score'] qui vaut 15.7.

Voici mon script :

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
<?php
header('Content-Type: text/html; charset=utf-8');
 
if(!empty($_POST['score']) && !empty($_POST['age']))
 {
  $ageP = $_POST['age'];
  $score = $_POST['score'];
 }
 
If($ageP < 30)
 {
  $moyenne = 15.9;
  $ecart = 0.2;
 }
elseIf($ageP < 50)
 {
  $moyenne = 15.9;
  $ecart = 0.6;
 }
ElseIf($ageP < 65)
 {
  $moyenne = 15.7;
  $ecart = 0.7;
 }
ElseIf($ageP < 75)
 {
  $moyenne = 15.7;
  $ecart = 0.5;
 }
Else
 {
  $moyenne = 15.8;
  $ecart = 0.5;
 }
 
if($score > $moyenne + 2 * $ecart)
 $comparaison =  "nettement supérieur aux normes (" . $moyenne . " +- " . $ecart . ")";
ElseIf($score > $moyenne + $ecart)
 $comparaison =  "supérieur aux normes (" . $moyenne . " +- " . $ecart . ")";
ElseIf($score >= $moyenne - $ecart)
 $comparaison =  "dans les normes (" . $moyenne . " +- " . $ecart . ")";
ElseIf($score + 2 * $ecart < $moyenne)
 $comparaison = "inférieur aux normes (" . $moyenne . " +- " . $ecart . ")";
Else
 $comparaison = "faible (" . $moyenne . " +- " . $ecart . ")";
 
echo "<input type='text' name='compReconnCorr' id='compReconnCorr' value='$comparaison' size='40' readonly>";
 
?>
Avec les paramèters précités, $comparaison vaut "faible (15.9 +- 0.2)" alors qu'elle devrait valoir "dans les normes (15.9 +- 0.2)". Or, si $_POST['score'] vaut 15.8, $comparaison est affectée de manière correcte.

Quelqu'un aurait une idée?

Merci d'avance...