Easy-Micro


ESPACEMEMBRE PHP-MySQL
Remplir une table

Remplir la table "clients"

Remplir dynamiquement une table MySQL à partir d'un formulaire

Un premier fichier qui affiche le formulaire (formulaire.html).
Un second fichier (traitement.php) qui remplie la table après avoir vérifié les champs du formulaire et qui redirige vers le document qui affiche la table.

Le fichier "formulaire.html"
<html><head></head><body>
<form action="traitement.php" method="post">
Nom <input type="text" name="nom"/><br/>
Prénom <input type="text" name="prenom"/><br/>
E-mail <input type="text" name="email"/><br/>
<input type="submit" value="Valider"/>
</form>
</body>
</html>

Remplir la table "clients" avec l'extension improved

Le fichier "traitement.php"
<?php
$base = "mabase";
$user = "root";
$pass = "";
$serveur = "127.0.0.1";

$table1 = "clients";

$mysqli = mysqli_connect($serveur, $user, $pass, $base) or die("Connexion impossible: ".mysqli_errno($mysqli));

// la fonction isset permet de tester si une variable est déclarée
if (isset($_POST['nom'])) { $nom = $_POST['nom'];} else {$nom = "";}
if (isset($_POST['prenom'])) { $prenom = $_POST['prenom']; } else {$prenom = "";}
if (isset($_POST['email'])) { $email = $_POST['email']; } else {$email = "";}

// nettoyage des champs de saisie pour éviter les éventuels pirates
$nom = htmlentities(trim(strtoupper($nom)));
$nom = mysqli_real_escape_string($mysqli, $nom);

// requete d'insertion
$requete = "INSERT INTO ".$table1." VALUES (null, '".$nom."', '".$prenom."','".$email."')";
$resultat = mysqli_query($mysqli,$requete);

if (!$resultat) { echo "Problème de requete"; }
else {
// redirection
header("Location: index.php");
}
?>

Note: si vous avez des problèmes de caractère, utilisez la fonction mysqli_set_charset(), juste après avoir fait votre connexion avec mysqli_connect(). Exemple : mysqli_set_charset($mysqli,"utf8");
Si vous utilisez la version MYSQL historique, utilisez mysql_set_charset('utf8').

Remplir la table "clients" avec l'extension historique

Le fichier "traitement.php"
<?php
if (isset($_POST['nom'])) { $nom = $_POST['nom']; }
if (isset($_POST['prenom'])) { $prenom = $_POST['prenom']; }
if (isset($_POST['email'])) { $email = $_POST['email']; }

mysql_connect("localhost","root","mysql") or die("Connexion impossible: ".mysql_error());
mysql_select_db("mabase");

if ($nom && $prenom && $email) {
$requete = "INSERT INTO clients VALUES (null, '".$nom."', '".$prenom."','".$email."')";
mysql_query($requete);
// redirection vers le document php qui affiche la table
header("Location: index.php");
// ou bien echo "<script type='text/javascript'>document.location=\"index.php\";</script>";
}
?>

Note

Le serveur MySQL accepte d'ajouter des enregistrements sans l'instruction Oracle "COMMIT" (et "ROLLBACK" pour supprimer). On dit que par défaut, MySQL est lancé en mode autocommit. Plus d'infos sur dev.MySQL.com

Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]
Vendredi 17 janvier 2020 - Semaine 03 - Sainte Roseline (Demain: Sainte Prisca) - Aujourd'hui, c'est l'anniversaire de Françoise Hardy (1944-76 ans), chanteuse française (1962: Tous les garçons et les filles) et de Dalida (1933-1987), chanteuse et actrice française. Autre 17 janvier: 1706 - Naissance de Benjamin Franklin (mort le 17 avril 1790).
Haut de page Easy-Micro