La gestion de bases de données MySQL peut être complexe pour les débutants.
Cette complexité peut entraîner des erreurs et des inefficacités dans la gestion des données.
Cet article détaille comment utiliser phpMyAdmin pour créer des bases de données, configurer PDO et intégrer des formulaires HTML avec PHP.
Réalisez votre projet web de A à Z sous PHP 8
Créer une base MySQL avec phpMyAdmin
Dans cette première étape, vous allez créer une base de données nommée bricks et une table nommée bien en utilisant phpMyAdmin.
Étape 1 : Accéder à phpMyAdmin
Tout d’abord, connectez-vous à votre serveur phpMyAdmin. Si vous utilisez un environnement local comme XAMPP ou WAMP, vous pouvez y accéder en tapant localhost/phpmyadmin dans votre navigateur.
Étape 2 : Créer la base de données
- Une fois dans phpMyAdmin, cliquez sur Nouvelle base de données .
- Entrez bricks comme nom de la base de données.
- Sélectionnez le collationnement approprié (généralement utf8mb4_general_ci pour supporter divers caractères).
- Cliquez sur Créer .
Étape 3 : Créer la table ‘bien’
- Après avoir créé la base de données, sélectionnez-la dans la liste à gauche.
- Cliquez sur Nouvelle table .
- Nommez la table bien et définissez le nombre de colonnes à 3.
Étape 4 : Configurez les colonnes de table ‘bien’
- bienID :Type INT, Cochez A.I. (Auto-Increment), définissez-le comme clé primaire.
- bien :Type VARCHAR, Longueur/valeurs : 100.
- image :Type VARCHAR, Longueur/valeurs : 50.
- Cliquez sur Enregistrer pour créer la table.
Configurer une instance PDO sécurisée
Avant de commencer à mettre en place l’instance PDO, voici la structure de l’arborescence de ce projet. Vous pouvez la créer ainsi dans VS Code pour une meilleure lisibilité et une bonne structuration.
Dans cette section, vous allez apprendre à instancier la classe PDO pour établir une connexion à la base de données MySQL que vous avez créée précédemment.
- $dsn :Data Source Name. Il spécifie le type de base de données (MySQL dans ce cas), l’hôte (localhost), le nom de la base de données (bricks), et l’encodage des caractères (utf8).
- $user :Nom d’utilisateur de la base de données. Par défaut, c’est root.
- $pass :Mot de passe de l’utilisateur. Par défaut, c’est une chaîne vide pour root sous un environnement local.
Créer un formulaire HTML avec PHP
Dans cette étape, vous allez créer un formulaire HTML simple pour insérer un nouveau bien dans la base de données que vous avez mise en place précédemment. Le formulaire permettra à l’utilisateur d’entrer le nom d’un bien et de télécharger une image associée.
- Code du fichier « bien-insert.php » :
Insérer un nouveau Bien
multipart/form-data est nécessaire pour envoyer des fichiers via un formulaire HTML, sans cela, le fichier ne sera pas correctement transmis au serveur.
- Résultat affiché :
Vous devriez voir apparaître à l’écran un formulaire simple contenant un champ pour le nom du bien et un bouton pour sélectionner une image à télécharger. Après soumission, les données seront prêtes à être traitées.
Structurer le formulaire HTML PHP
Mettre en forme le formulaire HTML
Réalisez votre projet web de A à Z sous PHP 8
Dans cette étape, vous allez appliquer du style à votre formulaire HTML pour le rendre plus attrayant et convivial. Nous allons utiliser un fichier CSS externe nommé style.css pour mettre en forme les éléments du formulaire.
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
body{
background-color: #95a5a6;
font-family: 'Roboto',sans-serif;
margin: 0;
}
/******** Article *********/
article{
min-height: 100vh;
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
article section {
background-color: #ecf0f1;
padding: 10px;
width: 50%;
border-radius: 8px;
border: 1px solid #7f8f8d;
}
article section:hover {
box-shadow: 3px 3px 3px #7f8f8d;
}
article h1 {
text-align: center;
color: #2c3e50;
font-size: 22px;
text-transform: uppercase;
letter-spacing: 1px;
border-bottom: 1px dashed #7f8f8d;
padding-bottom: 15px;
}
article input {
display: block;
padding: 12px;
width :75%;
box-sizing: border-box;
outline: none;
margin: 15px auto;
}
/******** Article *********/
- Résultat affiché :
Une fois le style appliqué, votre formulaire aura une apparence soignée avec un arrière-plan léger, des bordures arrondies et une disposition centrée. L’utilisateur bénéficiera d’une interface plus professionnelle et ergonomique.
Mettre en forme les éléments du formulaire
Réalisez votre projet web de A à Z sous PHP 8
Dans cette étape, vous allez personnaliser d’avantage les éléments du formulaire HTML en ajoutant des styles supplémentaires pour les champs de texte et le bouton de soumission. Ces ajustements amélioreront l’apparence et l’interactivité du formulaire.
- Lignes supplémentaires dans le fichier style.css :
article input[type="text"]{
border: 1px solid #ccc;
}
article input[type="text"] :hover{
border-color:#e67e22;
}
article input[type="submit"] {
cursor: pointer;
background-color: #f1c40f;
border: none;
font-size: 18px;
letter-spacing: 1px;
transition: 0.5s;
}
article input[type="submit"]:hover{
background-color: #e67e22;
}
article::placeholder{
color: #7f8f8d;
letter-spacing: 1px;
}
- Résultat affiché :
Votre formulaire sera encore plus professionnel grâce à ces ajustements. Les champs de texte auront une bordure personnalisée et changeront de couleur au survol. Le bouton de soumission sera également interactif avec une transition fluide de couleur au survol, créant ainsi une interface plus engageante.
Mettre en forme l’input de type file
Réalisez votre projet web de A à Z sous PHP 8
Dans cette étape, vous allez personnaliser l’apparence de l’élément de téléchargement de fichiers ( <input type= »file »>) pour qu’il s’intègre mieux avec le design de votre formulaire. Nous allons utiliser des styles CSS pour créer un bouton de téléchargement personnalisé.
- Les modifications apportées au fichier bien-insert.php :
Insérer un nouveau Bien
Ensuite, vous allez ajouter les règles CSS suivantes dans votre fichier style.css pour styliser l’élément de téléchargement :
article p{
text-align: center;
}
/******** Article *********/
/******** Download ********/
#download{
display:flex;
justify-content: center;
}
#download input {
display: none;
}
#download label div {
width:60px;
height: 60px;
border-radius: 50%;
background-color: #f1c40f;
cursor: pointer;
margin-bottom: 10px;
transition: 0.5s;
display: flex;
justify-content: center;
align-items: center;
}
#download label div:hover{
background-color: #e67e22;
}
#download label div i {
font-size: 1.8em;
color: #fff;
}
/******** Download ********/
- Résultat affiché :
Après avoir appliqué ces modifications, votre bouton de téléchargement aura une apparence circulaire avec une icône de téléchargement au centre. Ce bouton changera de couleur au survol, offrant ainsi une interaction fluide et moderne à l’utilisateur.
Mettre en place le retour du formulaire
Réalisez votre projet web de A à Z sous PHP 8
Dans cette étape, vous allez apprendre à gérer les retours d’informations lorsque l’utilisateur soumet un formulaire. Il est essentiel de fournir des retours clairs pour améliorer l’expérience utilisateur. Cela inclut les messages d’erreur en cas de problème (par exemple, un champ obligatoire non rempli) et des messages de succès si tout se passe bien.
- Code PHP ajouté dans bien-insert.php
Insérer un nouveau Bien
Envoyer une image
Ensuite, vous allez styliser les messages d’erreur et de succès dans votre fichier style.css :
/****** Classes generiques ******/
.error, .success {
padding: 15px;
color: #f1c40f;
background-color: #e74c3c;
margin-bottom: 20px;
font-size: 19px;
font-weight: bold;
border-radius: 50px;
letter-spacing: 1px;
text-align: center;
}
.success{
background-color: #27ae60;
}
/****** Classes generiques ******/
Explication du code
- Vérification du formulaire :Le script commence par inclure le fichier de connexion cnx.php.Une vérification est effectuée pour voir si le formulaire a été soumis (isset($_POST[‘envoyer’])).Si le champ « Nom du Bien » est vide, un message d’erreur est affiché (Merci de nommer le bien).
- Affichage des messages :Les messages d’erreur et de succès sont stylisés avec des classes CSS .error et .success.Ces classes utilisent des couleurs vives pour attirer l’attention de l’utilisateur : rouge pour les erreurs (background-color: #e74c3c;) et vert pour les succès (background-color: #27ae60;).Les messages sont affichés au-dessus du champ de formulaire correspondant, offrant un retour immédiat à l’utilisateur.
- Résultat affiché :
Lorsque l’utilisateur soumet le formulaire sans remplir le champ « Nom du Bien », un message d’erreur rouge s’affichera avec le texte « Merci de nommer le bien » .
Validation des images dans le formulaire
Dans cette section, vous allez apprendre à vérifier que l’utilisateur a bien joint une image lors de la soumission du formulaire. Ce contrôle est essentiel pour éviter que des informations incomplètes ou incorrectes soient envoyées.
- Code PHP ajouté dans bien-insert.php
Merci de nommer le bien
Explication du code
- Validation de l’image :Après avoir vérifié que le champ « Nom du Bien » n’est pas vide, le code s’assure que l’utilisateur a bien sélectionné une image.La conditionempty($_FILES[‘monImage’][‘tmp_name’])vérifie si un fichier a été uploadé en contrôlant le chemin temporaire du fichier téléchargé.Si l’image n’est pas envoyée, un message d’erreur s’affiche (Merci d’envoyer une image).
- Séparation des erreurs :Le code distingue clairement les erreurs liées à l’absence du nom du bien et celles liées à l’absence d’image. Cela permet à l’utilisateur de savoir précisément quelle information manque.
- Résultat affiché :
Lorsque le champ du nom de bien est rempli avec une valeur et que vous avez oublié de télécharger une image, puis que vous avez cliqué sur le bouton insérer, voici le résultat affiché
Télécharger des images via PHP
Dans cette section, vous allez apprendre à envoyer une image téléchargée via un formulaire HTML vers le serveur. L’image sera stockée dans un répertoire spécifique pour pouvoir être utilisée ultérieurement dans votre application.
- Code PHP ajouté dans bien-insert.php :
Merci de nommer le bien
Explication du code
- Récupération et stockage temporaire :La variable$dossierTemporécupère le chemin temporaire où l’image est stockée lors de l’upload.$dossierSitedéfinit l’emplacement final où l’image sera déplacée sur le serveur. Ici, l’image sera stockée dans le répertoire ergonomie/images/.
- Validation de l’extension :Le code utilise la fonctionstrchr()pour extraire l’extension du fichier image. Les extensions autorisées sont définies dans le tableau $autorise.Si l’extension est autorisée, la fonctionmove_uploaded_file()déplace l’image de son emplacement temporaire vers le répertoire final.
Vérifier l'extension des fichiers
Pour assurer la sécurité et la compatibilité des images téléchargées, il est crucial de vérifier l’extension du fichier avant de l’accepter sur le serveur. Cette section vous guide à travers le processus de contrôle de l’extension d’une image envoyée par un utilisateur.
- Code PHP ajouté dans bien-insert.php :
Merci de nommer le bien