Citation Envoyé par bm
Le post initial de L'AMI Yves, ne lui permet pas d'écrire du code. Cela permet différentes options , et ma proposition
initiale a été de poster un formulaire en HTML.
Immédiatement ce post a été effacé , comme cela c'est déjà produit, et souvent le modérateur NoSmoking
fait parti de la discussion.
Le code recherché par l’AMI Yves est un code JavaScript de transformation des données et non un code HTML d’affichage.
Je te propose de relire attentivement son post #8.

Tes propositions sont donc hors sujet, cela peut arriver à tous, mais je ne comprendrais jamais ton animosité !

Concernant la deuxième partie de la citation ci-dessus, je t’engage fortement à relire très attentivement : Les règles du club http://club.developpez.com/regles/


Citation Envoyé par bm
Je ne vais pas en rajouter sur cette méthode de censure qui va se développer autour de Ajax.
Alors que le post initial n'en fait pas la demande.
L’emploi d’Ajax ou non n’est pas la question.

Nous n’avons fait qu’échangé différentes propositions sur la récupération des données du formulaire, même si on a légèrement digressé sur ces méthodes ce qui reste enrichissant pour tous.

Il est d’autant plus surprenant que tu écrives cela à la lecture de ta signature, je te cite « Il vaut mieux proposer des solutions alternatives que de chercher le consensus général ».

Si l’on veut concevoir une page avec un formulaire, il faut pour qu’elle fonctionne correctement, que le résultat via Ajax soit le même, ou proche, de celui d’une soumission traditionnelle, et inversement, en cas de désactivation du JavaScript.

La structure et le choix des NAME de la forme name="param[]" permet de gérer le cas présent très bien côté serveur et ce depuis la nuit des temps.

Pour aller plus loin, avec une structure HTML du type
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
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
 <form id="formulaire" action="action.php" method="POST">
<table>
  <thead>
    <th>Col #1</th>
    <th>Col #2</th>
    <th>Col #3</th>
    <th>Col #4</th>
  </thead>
  <tbody>
    <tr>
      <td><input name="row_1[]" value="Colonne 1 Ligne 1"></td>
      <td><input name="row_1[]" value="Colonne 2 Ligne 1"></td>
      <td><input name="row_1[]" value="Colonne 3 Ligne 1"></td>
      <td><input name="row_1[]" value="Colonne 4 Ligne 1"></td>
    </tr>
    <tr>
      <td><input name="row_2[]" value="Colonne 1 Ligne 2"></td>
      <td><input name="row_2[]" value="Colonne 2 Ligne 2"></td>
      <td><input name="row_2[]" value="Colonne 3 Ligne 2"></td>
      <td><input name="row_2[]" value="Colonne 4 Ligne 2"></td>
    </tr>
    <tr>
      <td><input name="row_3[]" value="Colonne 1 Ligne 3"></td>
      <td><input name="row_3[]" value="Colonne 2 Ligne 3"></td>
      <td><input name="row_3[]" value="Colonne 3 Ligne 3"></td>
      <td><input name="row_3[]" value="Colonne 4 Ligne 3"></td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td colspan="3"><input type="submit" name="btn-submit" value="Envoyer"></td>
    </tr>
  </tfoot>
</table>
</form>
...on obtient côté serveur avec un simple fichier, comme déjà mis
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 <?php
header('Content-type: text/HTML; charset=UTF-8');
var_dump( $_POST);
?>
... les informations suivantes :
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
 array(4) {
  ["row_1"]=>
  array(4) {
    [0]=>
    string(17) "Colonne 1 Ligne 1"
    [1]=>
    string(17) "Colonne 2 Ligne 1"
    [2]=>
    string(17) "Colonne 3 Ligne 1"
    [3]=>
    string(17) "Colonne 4 Ligne 1"
  }
  ["row_2"]=>
  array(4) {
    [0]=>
    string(17) "Colonne 1 Ligne 2"
    [1]=>
    string(17) "Colonne 2 Ligne 2"
    [2]=>
    string(17) "Colonne 3 Ligne 2"
    [3]=>
    string(17) "Colonne 4 Ligne 2"
  }
  ["row_3"]=>
  array(4) {
    [0]=>
    string(17) "Colonne 1 Ligne 3"
    [1]=>
    string(17) "Colonne 2 Ligne 3"
    [2]=>
    string(17) "Colonne 3 Ligne 3"
    [3]=>
    string(17) "Colonne 4 Ligne 3"
  }
  ["btn-submit"]=>
  string(7) "Envoyer"
}
Le but est donc atteint, on obtient un tableau par ligne avec les contenus de chacune des cellules de la ligne.
Inutile donc de sérialiser quoique ce soit.