Bonjour,

J'essaie de faire un formulaire pour insérer des données dans ma bdd, à chaque fois l'id passe mais pas les données écrites dans les différents champs, idem lorsque je veux passer des données d'un formulaire à un autre, seul l'id passe.

N'y arrivant pas, j'ai créé une table test avec juste trois champs : id, nom, prénom, pour faire des essais plus courts et sans modifier mes autres tables, j'ai fait deux formulaires, un pour insérer les données et un autre pour afficher les données sous forme de tableau. Le problème, c'est que cela me rajoute un id mais pas les noms et prénoms écrits dans les cases du formulaire !!!

Voici le formulaire pour insérer les données :

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
<?php error_reporting (E_ALL ^ E_NOTICE); ?>
<?php include("menu.php");?>
<link rel="stylesheet" href="menu/dropdown_three.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
 
<?php
 
include("include/db_inc_pdo.php");
 
  // récupérer les valeurs 
  $id = isset($_POST['id']) ? $_POST['id'] : ''; 
  $nom = isset($_POST['nom']) ? $_POST['nom'] : ''; 
  $prenom = isset($_POST['prenom']) ? $_POST['prenom'] : '';   
 
 
  // Requête mysql pour insérer des données
  $sql = "INSERT INTO test(nom, prenom) VALUES (:nom,:prenom)";
  $res = $pdo->prepare($sql);
    $exec = $res->execute
  (array(
  ':nom'=>$nom,
  ':prenom'=>$prenom));
 
  // vérifier si la requête d'insertion a réussi
  if($exec){
    echo 'Données insérées';
  }else{
    echo "Échec de l'opération d'insertion";
  }
echo "<p align=left> :: essai </p>";
?>
 
 
<html>
  <head>
    <title>Insérer des données dans la table test</title>
  </head>
  <body>
  <form method="post" action="process.php">
  <input type="hidden" name='enregistrer' value='oui' />
      <input type="text" name="nom"><br>
      <input type="text" name="prenom"><br>
<input type="submit" value="enregistrer" />
    </form>
  </body>
</html>
et voici le tableau :

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
<?php error_reporting (E_ALL ^ E_NOTICE); ?>
<?php include("menu.php");?>
<link rel="stylesheet" href="menu/dropdown_three.css" type="text/css">
<link rel="stylesheet" href="style.css" type="text/css">
 
<?php
  $nom = isset($_POST['nom']) ? $_POST['nom'] : ''; 
  $prenom = isset($_POST['prenom']) ? $_POST['prenom'] : '';   
include("include/db_inc_pdo.php");
?>
	<table class="bicolor" border="1"  align="center">
 
	        <tr>
			<th>ID</th>
			<th>Nom</th>
			<th>Prénom</th>
</tr>
 
<?php
 
$reponse = $pdo->query('SELECT id, nom, prenom FROM test');
 
while ($donnees = $reponse->fetch())
 
 
{
 
	 //On affiche les données dans le tableau
    echo "<tr>";
    echo "<td> $donnees[id] </td>";
    echo "<td> $donnees[nom] </td>";
    echo "<td> $donnees[prenom] </td>";
	echo  "</td>";
    echo  "</tr>";
 
}
 
$reponse->closeCursor();
 
 
?>
Voici également la table test :

Nom : 2020-09-14 (2).png
Affichages : 2689
Taille : 8,7 Ko


Qu'est-ce que je fais faux ? est-ce que j'ai oublié quelque chose ?

Si j'arrive à faire ce petit bout de code, j'arriverai avec plus de champs.

D'avance merci de m'aider à résoudre ce problème sur lequel je sèche depuis plusieurs jours