Enregistrer données - formulaire html vers base SQL

Bonjour,

J'ai codé un formulaire en html, et j'aimerais stocker les données issues des réponses du formulaire dans une base SQL tout en affichant les réponses dans une page cible. Mon code PHP semble être bon, mais alors que les données du formulaire s'affichent bien sur ma page html cible, aucune donnée ne s'enregistre dans ma base de donnée.

Help please :)

Voici mon code :

(page formulaire)

<form method="post" action="monprofil.php">
<li> <label> Nom </label>* : <input type="text" name="nom"></li>
<input type="submit" value="Soumettre" />
</form>

(page cible)

<body>
<p> Nom : <?php echo $_POST['nom']; ?>
</body>

<?php
$link = mysqli_connect("Localhost","root","mdp","users") ;
$nom=$_POST['nom'];
$execute = "INSERT INTO table_1 (Nom) VALUES ($nom)";
$result = mysqli_query($link, $execute) ;
?>

1 réponse

  1. Modérateur
    Bonjour,

    Ajoute de la gestion d'erreur...
    $link = mysqli_connect("localhost", "root", "mdp", "users");
    /* Vérification de la connexion */
    if (mysqli_connect_errno()) {
        printf("Échec de la connexion : %s\n", mysqli_connect_error());
        exit();
    }
    
    
    //récupération propre des variables AVANT de les utiliser
    $nom=!empty($_POST['nom']) ? $_POST['nom'] : NULL; 
    
    if($nom){
    
      $sql= "INSERT INTO table_1 (Nom) VALUES ('$nom')"; 
      if (!mysqli_query($link, $sql) === TRUE) {
          echo "Error ! " . mysqli_error($link);
      }
    
    }else{
     echo "Aucun NOM à enregistrer";
    }
    

    Cordialement, 
    Jordane                                                                 
    0
    1. Merci pour ta réponse, désolé je ne me remets sur mon code que maintenant, d'où ma réponse tardive.
      J'ai essayé de faire ce que tu m'as dit, mais je n'arrive toujours pas à enregistrer ce que je rentre dans mon formulaire.
      Par exemple, si je rentre...

      Nom : Dupont

      ...sur ma page html source, et que je "submit", j'arrive sur ma page cible, où s'affiche bien...

      Nom : Dupont

      ...mais rien dans ma base de donnée. En outre un message d'erreur apparaît et me dit :

      Error ! Champ 'Dupont' inconnu dans field list

      Comme s'il s'attendait à ce que l'info que je rentre corresponde au nom du champ dans ma base de donnée.

      Une idée ?

      Merci beaucoup !
      0
    2. Modérateur
      @Thibault_63Petit oubli dd quotes dans la requête
      J'ai édité mon message précédent
      0