0

Envoie et récupération des données dans MySQL en utilisant MySQLi

Voici le formulaire sur lequel nous allons faire des traitements:

mon-formulaire

Voici ci-dessous une petite vidéo du traitement du formulaire:

Ma base de données :

127-0-0-1-127-0-0-1-bdformulaire-utilisateurs-phpmyadmin-4-1-4

Pour voir le code HTML/CSS du formulaire, cliquez sur le lien ci-dessous :

http://oclockweb.cvflashjob.com/creer-formulaire-html-mise-forme-css

Maintenant voici le code PHP  d’insertion des données:

<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8" />
    <title>Résultat du formulaire</title>
  </head>
  
  <body>

  <header></header>
  <h1>Récapitulatif de votre inscription</h1>
  
  <input type="button" width="100px" height="40px" name="valider" value=" Accès Administrateur" onclick="window.location.href='admin.php';">
  <hr>
  <?php
  
  // On vérifie si la variable existe et sinon elle vaut NULL
$lieu = isset($_POST['lieu']) ? $_POST['lieu'] : NULL;
$nom = isset($_POST['nom']) ? $_POST['nom'] : NULL;
$prenom = isset($_POST['prenom']) ? $_POST['prenom'] : NULL;
$ladate = isset($_POST['ladate']) ? $_POST['ladate'] : NULL;
$adressepostale = isset($_POST['adressepostale']) ? $_POST['adressepostale'] : NULL;
$cp = isset($_POST['cp']) ? $_POST['cp'] : NULL;
$email = isset($_POST['email']) ? $_POST['email'] : NULL;
$site = isset($_POST['site']) ? $_POST['site'] : NULL;
$telephone = isset($_POST['telephone']) ? $_POST['telephone'] : NULL;
$semestre = isset($_POST['semestre']) ? $_POST['semestre'] : NULL;
$niveauhtml = isset($_POST['niveauhtml']) ? $_POST['niveauhtml'] : NULL;
$connaissances = isset($_POST['connaissances']) ? $_POST['connaissances'] : NULL;

//On récupère les différentes valeurs de checkbox sous forme d'une chaine de caractères séparées par une virgule
$connaissances=implode(",", $_POST['connaissances']);

  
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "bdformulaire";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}


$sql = 'INSERT INTO utilisateurs (id, nom, prenom,date, lieu, adressepostale, cp, email, site, telephone, semestre,niveauhtml, connaissances) 
VALUES("", "'.$nom.'", "'.$prenom.'", "'.$ladate.'", "'.$lieu.'", "'.$adressepostale.'", "'.$cp.'", "'.$email.'", "'.$site.'", "'.$telephone.'", "'.$semestre.'", "'.$niveauhtml.'", "'.$connaissances.'")';

if ($conn->query($sql) === TRUE) {
    echo "les données ont bien étés insérées dans la base de données";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();  
  
  echo("<center>Le nom est: $nom</center><br><br>");
  echo("<center>Le prénom est: $prenom</center><br><br>");
  echo("<center>La date est: $ladate</center><br><br>"); 
  echo("<center>Le lieu de naissance est: $lieu</center><br><br>");
  echo("<center>L'adresse postale est: $adressepostale</center><br><br>");   
  echo("<center>Le code postal est: $cp</center><br><br>"); 
  echo("<center>L'email est: $email</center><br><br>"); 
  echo("<center>Le site est: $site</center><br><br>"); 
  echo("<center>Le numéro de téléphone est: $telephone</center><br><br>"); 
  echo("<center>Le semestre est: $semestre</center><br><br>"); 
  echo("<center>Le niveau en HTML est: $niveauhtml</center><br><br>");
  
  echo("<center>Les connaissances sont:</center><br>");
  foreach((array)$connaissances as $valeur){
  echo("<center>$valeur</center><br>");
  }
  ?>
  <hr>
  
  </body>
  
</html>
destination.php

 

Maintenant voici le code PHP  de récupération des données:

<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="utf-8" />
    <title>Résultat du formulaire</title>
  </head>
  
  <body>

  <header></header>
  <h1>La liste des utilisateurs inscrits</h1>
  <hr>
  <?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "bdformulaire";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully"; 

$sql = 'SELECT * FROM utilisateurs ORDER BY id';
$result = $conn->query($sql);



if ($result->num_rows > 0) {
   echo('<table border="1">
    <colgroup width =150 span=12></colgroup>
	<thead> <!-- En-tête du tableau -->
   <tr>
       <th>Id</th>
       <th>Nom</th>
       <th>Prénom</th>
       <th>Date de naissance</th>
	   <th>Lieu de naissance</th>
	   <th>Adresse postale</th>
	   <th>Code postal</th>
	   <th>Email</th>
	   <th>Site</th>
	   <th>Semestre</th>
	   <th>Niveau HTML</th>
	   <th>Connaissances</th>
       </tr>
    </thead>
	<tbody> <!-- Corps du tableau --> ');
    while($donnees = $result->fetch_assoc()) {
        echo ('<tr>');
       echo ('<td>'.$donnees['id'].'</td>');
       echo ('<td>'.$donnees['nom'].'</td>');
       echo ('<td>'.$donnees['prenom'].'</td>');
       echo ('<td>'.$donnees['date'].'</td>');
       echo ('<td>'.$donnees['lieu'].'</td>');
       echo ('<td>'.$donnees['adressepostale'].'</td>');
       echo ('<td>'.$donnees['cp'].'</td>');
       echo ('<td>'.$donnees['email'].'</td>');
       echo ('<td>'.$donnees['site'].'</td>');
       echo ('<td>'.$donnees['semestre'].'</td>');
       echo ('<td>'.$donnees['niveauhtml'].'</td>');
       echo ('<td>'.$donnees['connaissances'].'</td>');
       echo('</tr>');
   }
       echo('<tbody>');
       echo('</table>');
} else {
    echo "0 results";
}
$conn->close();

       
  ?>

<br><br>
<form action="listesUsers.php" method="post">
<input type="submit" name="valider" value=" Actualiser ">
<input type="button" width="100px" height="40px" name="valider" value=" Ajouter un utilisateur" onclick="window.location.href='M1106-TP3-Minkoue-formulaire2.html';">
</form>
  <hr>
  
  </body>
  
</html>

 

Pour obtenir tout le dossier du projet avec la base de données pour les testes, cliquez ici : https://github.com/AnouchkaGeek/TP_Formulaire/tree/master/Traitement_Form_MSQLi

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *