2. Comment faire un formulaire en
PHP/MySQL?
Un formulaire HTML est un composant essentiel lors du développement Web. Il
nous permet de recueillir des données auprès de différents utilisateurs. Dans
ce tutoriel nous allons créer un formulaire HTML simple qui collectera les
données de l’utilisateur, telles que le nom d’utilisateur et l’adresse e-
mail. En utilisant PHP, nous enregistrerons les données collectées dans notre
table de base de données MySql. Il s’agit d’un scénario courant dans le
développement Web, dans lequel nous avons souvent besoin de stocker diverses
informations à propos de l’utilisateurs.
Étape 1: Créer un formulaire HTML
<html>
<head>
<title>Formulaire en PHP/MySQL</title>
</head>
<body>
<form method="post" action="controller.php">
Name : <input type="text" name="name"
placeholder="Entrez votre nom" /><br />
Email : <input type="email" name="email"
placeholder="Entrer votre Email" /><br />
<input type="submit" value="Submit" />
3. </form>
</body>
</html>
Comme vous pouvez le voir en HTML ci-dessus, on a la balise <form> </ form>,
qui contient deux inputs, telles que le nom d’utilisateur et l’e-mail, et
vous pouvez toujours ajouter d’autres input si vous souhaitez collecter
davantage de données auprès de l’utilisateur. Ces inputs peuvent avoir
différents attributs, tels que le nom de l’input, son type, sa longueur
maximale, etc. Même si nous n’avons besoin que de l’attributs « name » et
« type », nous pouvons toujours jouer avec d’autres attributs selon les
besoins de notre projet.
Étape 2: page de traitement PHP
Notre formulaire HTML est prêt à recevoir les entrées des utilisateurs. Nous
devons maintenant créer une page PHP pour collecter des données à partir de
ce formulaire. PHP est un langage de programmation web côté serveur, il
effectue toutes les tâches sur le serveur et les utilisateurs finaux ne
voient rien sauf s’il y a des erreurs ou des résultats. Remarquez-vous
l’attribut « action » dans la balise de formulaire HTML ci-dessus? Cela
pointe sur « controller.php » et signifie que toutes les valeurs des champs
d’entrée seront envoyées à « controller.php ». Tout ce dont nous avons besoin
maintenant, c’est de créer « controller.php ». Pour simplement récupérer les
valeurs capturées via le formulaire HTML, nous pouvons écrire quelque chose
comme ceci:
<?php
// Vérifie qu'il provient d'un formulaire
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST["name"];
$email = $_POST["email"];
if (!isset($name)){
die("S'il vous plaît entrez votre nom");
}
if (!isset($email) || !filter_var($email,
FILTER_VALIDATE_EMAIL)){
die("S'il vous plaît entrez votre adresse e-mail");
}
print "Salut " . $name . "!, votre adresse e-mail est ".
$email;
}
?>
Nous avons utilisé filter_vars pour valider l’adresse e-mail de
l’utilisateur, donc n’oubliez jamais de vérifier les données non valides à
chaque fois que vous en aurez besoin.
4. Étape 3: Stockage des données dans MySql
En utilisant l’interface PhpMyAdmin, vous pouvez facilement créer une
nouvelle table pour stocker les informations de l’utilisateur. Vous pouvez
aussi copier/coller le code ci-dessous, il va créer une nouvelle table
appelée « users » pour vous dans MySql>.
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL,
`name` varchar(120) NOT NULL,
`email` varchar(120) NOT NULL,
)AUTO_INCREMENT=1 ;
ALTER TABLE `users` ADD PRIMARY KEY (`id`);
ALTER TABLE `users`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
Une fois que nous avons la table de base de données, nous pouvons continuer à
travailler sur « controller.php ». Comme vous pouvez le voir dans l’exemple
ci-dessous, nous avons ajouté quelques codes PHP supplémentaires. En plus du
code, nous avons ajouté les informations de connexion MySql qui seront
utilisées pour se connecter à la base de données MySql. Une fois la connexion
ouverte, en utilisant la requête MySql INSERT, nous stockons les entrées de
l’utilisateur dans la table de la base de données.
<?php
// Vérifie qu'il provient d'un formulaire
if ($_SERVER["REQUEST_METHOD"] == "POST") {
//identifiants mysql
$host = "localhost";
$username = "root";
$password = "";
$database = "users";
$name = $_POST["name"];
$email = $_POST["email"];
if (!isset($name)){
die("S'il vous plaît entrez votre nom");
}
if (!isset($email) || !filter_var($email,
FILTER_VALIDATE_EMAIL)){
die("S'il vous plaît entrez votre adresse e-mail");
}
//Ouvrir une nouvelle connexion au serveur MySQL
$mysqli = new mysqli($host, $username, $password, $database);
//Afficher toute erreur de connexion
5. if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '.
$mysqli->connect_error);
}
//préparer la requête d'insertion SQL
$statement = $mysqli->prepare("INSERT INTO users (name,
email) VALUES(?, ?)");
//Associer les valeurs et exécuter la requête d'insertion
$statement->bind_param('ss', $name, $email);
if($statement->execute()){
print "Salut " . $name . "!, votre adresse e-mail est
". $email;
}else{
print $mysqli->error;
}
}
?>
La page controller.php est maintenant prêt à collecter des données à partir
du formulaire HTML.
7. QCM sur PHP – Les bases – Partie 1QCM sur PHP avec des réponses pour la
préparation des entretiens d’embauche, des tests en ligne, aux examens et aux
certifications. Ces questions et réponses…Lire plus
Créer un Espace Membre avec administration en PHP et MySQL
Formulaire d’authentification login + mot de passe avec PHP et MySQL
Formulaire de contact en PHP avec MySQL
Récupérer les données d’un formulaire en PHP
Comment faire un formulaire en PHP/MySQL?
Formulaire avec captcha en PHP
Générateur de code barre en PHP
Liaison entre deux liste déroulante pays et ville en jQuery, Ajax et PHP
QCMs qui pourraient vous intéresser :
Questions techniques sur MYSQL
QCM MySQL Corrigé – Optimisation de requêtes
QCM Base de données avec correction
QCM sur PHP
QCM Symfony
QCM HTML / CSS
QCM Java – Programmation Orientée Objet
QCM Python
QCM Cloud Computing
QCM Framework Spring
QCM Javascript
QCM jQuery
QCM Oracle
QCM sur GIT – Gestionnaire de version
QCM Linux – Gestion de processus
8. QCM Réseau
QCM Architecture des ordinateurs
QCM Securité informatique
QCM En Informatique Générale
QCM en C
QCM en C#
QCM sur l'algorithmique
QCM Word
QCM Excel
QCM PowerPoint
QCM Access