{"id":26645936,"url":"https://github.com/mloks77/tpbdd-form","last_synced_at":"2025-03-24T22:46:47.511Z","repository":{"id":283991387,"uuid":"950699361","full_name":"MLoks77/TPBDD-Form","owner":"MLoks77","description":"Ce repository est pour un formulaire d'une base de donnée sur un site web, il y a ici 3 bases de données dont 2 sont accompagnées de pages web en PHP.","archived":false,"fork":false,"pushed_at":"2025-03-23T14:57:53.000Z","size":4079,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-23T15:19:21.400Z","etag":null,"topics":["forms","php","sql"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MLoks77.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-18T14:57:21.000Z","updated_at":"2025-03-23T14:57:56.000Z","dependencies_parsed_at":"2025-03-23T15:19:22.743Z","dependency_job_id":"e2f3a48f-2829-4794-b852-b34a7f5034c2","html_url":"https://github.com/MLoks77/TPBDD-Form","commit_stats":null,"previous_names":["mloks77/tpbdd-form"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MLoks77%2FTPBDD-Form","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MLoks77%2FTPBDD-Form/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MLoks77%2FTPBDD-Form/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MLoks77%2FTPBDD-Form/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MLoks77","download_url":"https://codeload.github.com/MLoks77/TPBDD-Form/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245366201,"owners_count":20603439,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["forms","php","sql"],"created_at":"2025-03-24T22:46:46.794Z","updated_at":"2025-03-24T22:46:47.495Z","avatar_url":"https://github.com/MLoks77.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"_**Ce repository regroupe des tp reposant sur du PHP , SQL et HTML.**_\n\nTout les fichiers sont des bases de données que l'on peut modifier à l'aide de form HTML, CSS et PHP fait en ligne.\nLes bases de données sont host sur myphpadmin avec XAMPP, toute les consignes sont dans le TP 1 dnas TPCONNEXION1\nLes fichiers dans ce repository sont mes fichiers avec **MES** modifications, si vous souhaitez reproduire la même chose\nsuivez ces instructions :\n\n\u003ch1\u003e TP N1 \u003c/h1\u003e\n\n_**Consignes afin de reproduire la même chose / ou utiliser mes fichiers :**_\n\nConnexion à une Base de Données MySQL en PHP\n\nL’objectif est d’apprendre à établir une connexion entre une application PHP et une base\nde données MySQL. Vous allez :\n\n• Installer et configurer MySQL et PHP.\n• Créer une base de données et une table.\n• Établir une connexion à MySQL avec PHP.\n• Effectuer des opérations simples (insertion, affichage).\n\n_**Matériel requis :**_\n\n• Serveur local (XAMPP, WAMP ou MAMP)\n• Éditeur de texte (VS Code, Sublime Text, Notepad++, etc.)\n• Navigateur Web\n\nN.B : tous les fichiers crées doivent être enregistrés dans Xampp/htdocs/TPConnexion\n\n\u003ch2\u003eÉtape 1 : Création de la Base de Données et d’une Table\u003c/h2\u003e\n1. Ouvrir phpMyAdmin depuis votre serveur local.\n2. Créer une base de données nommée tp_database.\n3. Exécuter la requête SQL suivante dans l’onglet SQL pour créer une table utilisateurs :\n![code](https://github.com/user-attachments/assets/131bd42c-5d68-41cf-9309-064fac8b5160)\n\n\u003ch2\u003eÉtape 2 : Connexion à la Base de Données en PHP\u003c/h2\u003e\nCréez un fichier connexion.php et ajoutez le code suivant :\n\n![code](https://github.com/user-attachments/assets/f182fff7-22ad-4b7f-ab3b-dec833cdd937)\n\nExplication :\nOn utilise PDO pour se connecter à MySQL.\n• En cas d’échec, un message d’erreur s’affiche.\n\n\u003ch2\u003eÉtape 3 : Insérer des Données dans la Table\u003c/h2\u003e\nCréez un fichier ajouter_utilisateur.php :\n\n![code](https://github.com/user-attachments/assets/963260dc-5a1a-4eed-8642-21e40078db92)\n\nExplication :\n• prepare() et execute() protègent contre les injections SQL.\n• On insère un utilisateur dans la table.\n\n\u003ch2\u003eÉtape 4 : Afficher les Données\u003c/h2\u003e\nCréez un fichier afficher_utilisateurs.php :\n\n![code](https://github.com/user-attachments/assets/7ab7c4c3-2279-4769-b222-8842c9e9b11c)\n\nExplication :\n• query() exécute une requête SELECT.\n• fetch(PDO::FETCH_ASSOC) récupère les résultats sous forme de tableau associatif.\n\n\u003ch2\u003eÉtape 5 : Tester et Vérifier\u003c/h2\u003e\n\n1. Démarrer votre serveur local (XAMPP/WAMP).\n  \n2. Ouvrir http://localhost/connexion.php :\nVous devez voir \"Connexion réussie à la base de données.\"\n\n3. Ouvrir http://localhost/ajouter_utilisateur.php :\nAjoute un utilisateur à la base de données.\n\n4. Ouvrir http://localhost/afficher_utilisateurs.php :\nAffiche la liste des utilisateurs ajoutés.\n\nVoici, maintenant, une version améliorée avec un formulaire HTML pour ajouter des\nutilisateurs dynamiquement via un formulaire web.\n\n\u003ch2\u003eÉtape 6: Ajouter un Utilisateur avec un Formulaire\u003c/h2\u003e\nCrée un fichier form_ajouter_utilisateur.php\n\n![code](https://github.com/user-attachments/assets/a2414719-1c87-4c6f-80ba-65e961eeeb26)\n\nExplication :\n• Formulaire HTML permettant de saisir un nom, un email , un âge et un mot de passe.\n• Méthode POST pour envoyer les données à traitement_ajouter_utilisateur.php.\n• Optionnel : Style CSS intégré pour un affichage propre.\n\nTraitement du Formulaire et Ajout à la Base de Données\n Crée un fichier traitement_ajouter_utilisateur.php :\n\n![code](https://github.com/user-attachments/assets/e3660af7-11e4-4470-a056-67beb3e6c570)\n\n Explication :\n• Récupération des données POST (nom, email, age).\n• Protection des données :\n\nhtmlspecialchars() → protège contre les attaques XSS.\nfilter_var() → nettoie l'email.\nintval() → convertit age en entier.\n\n• Insertion sécurisée avec prepare() et execute().\n• Affichage des messages de succès ou d'erreur.\n\n\u003ch1\u003e TP N2 \u003c/h1\u003e\n\nLe TP N2 reprend les mêmes instructions :\n\n\u003ch2\u003eEtape 1 :\u003c/h2\u003e\n\nÉtape 1 : Créer la base de données\n\n![code](https://github.com/user-attachments/assets/47a92b1b-2f45-49a8-a0e9-8c40396098b6)\n\n\n\u003ch2\u003eEtape 2 :\u003c/h2\u003e\n\nConnexion à la base de données en PHP\nCréez un fichier connexion.php pour établir la connexion à MySQL :\n\n![code](https://github.com/user-attachments/assets/fd498355-a0dd-4809-9c48-43348521464f)\n\n\u003ch2\u003eEtape 3 :\u003c/h2\u003e\n\nFormulaire d'ajout de reservation\nCréez un fichier reservation.php avec un formulaire HTML :\n\n![code](https://github.com/user-attachments/assets/783b9e20-8e0d-4b90-9182-2666e16721ee)\n\n\u003ch2\u003eEtape 4 :\u003c/h2\u003e\n\nInsertion des données en PHP\nCréez un fichier ajouter_reservation.php pour enregistrer une réservation dans la base de données :\n\n![code](https://github.com/user-attachments/assets/463b1bec-9d4b-4d72-8d52-050cd7bcba2a)\n\n\n\u003ch2\u003eEtape 5 :\u003c/h2\u003e\n\nAffichage des reservations\nCréez un fichier liste_reservations.php pour afficher toutes les réservations :\n\n![code](https://github.com/user-attachments/assets/c82641f7-1460-45f2-8d1a-fdd119de9b67)\n\n\u003ch1\u003eForm en php + html sans base de donnée \u003c/h1\u003e\n\nTP Création d’un formulaire d’inscription en php\n\nObjectifs : \nCréer un formulaire en html\nRécupérer et afficher les données en PHP\nValider les entrées utilisateur\nCréer un fonction\n\nRequis :\nVscode\nXampp / autre\n\nPréparation environnement\nLancer un serveur local (xampp ou wamp). Créer un dossier TP1 dans xampp/htdocs ou wamp/www\n\n\u003ch2\u003ePartie 1 : Création du formulaire HTML\u003c/h2\u003e\n\nCréer dans un dossier TP1 un fichier inscription.html.\nCréez un formulaire d’inscription contenant le nom, prénom et l’email.\n\n![code](https://github.com/user-attachments/assets/b12467f1-4a8e-4e14-8b3c-a78868d0ceb8)\n\nConseil: pensez à mettre le bouton de soumission (input type=\"submit\")\n\nAfficher votre formulaire avec un navigateur sur :\nlocalhost/TP1/inscription.html \n\n\u003ch2\u003ePartie 2 : Traitement des données en PHP\u003c/h2\u003e\n\nCréer un fichier traitement-formulaire.php où vous récupérez les informations pour l’afficher.\n\nVérifiez que vous êtes en Post, que le formulaire est saisi : \n// Dans traitement-formulaire.php\n\n![code](https://github.com/user-attachments/assets/52473907-5db6-4923-a32e-16be62b91fa7)\n\n\nDans la partie code récupérez d’abord les informations soumises dans des variables que vous utiliserez pour afficher : \n\n$lastname = $_POST['lastname'];\n\n// récupérez aussi le prénom (firstname) et l’email (email)\n\nObjectif : afficher les informations saisies depuis le formulaire : \n\n\"Bonjour Nom Prénom, voici votre email : test@gmail.com\"\n\nConseil : en php on utilise le point . pour concaténer les variables et chaines de caractères, exemple : \"Bonjour \" . $variable;\necho permet d’afficher du html en PHP. exemple : echo \"Texte affiché en html, on peut également mettre des \u003cb\u003ebalises\u003c/b\u003e html\";\n\n\u003ch2\u003ePartie 3 : Vérifiez les informations utilisateur\u003c/h2\u003e\n\nSi vous validez le formulaire sans saisir tous les champs, des informations seront manquantes. exemple : \n\n\n\nNous allons vérifier si tous les champs sont présents, sinon nous informons l’utilisateur avec un lien de redirection vers le formulaire.\n\nConseils : pour vérifer si une variable est vide on utilise la fonction empty (ou !empty si ce n'est pas vide)\nExemple, si tous les champs sont renseignés (non vides) on affiche notre message précédent, sinon le message \"Veuillez saisir tous les champ. Lien vers le formulaire\"\n\n![code](https://github.com/user-attachments/assets/b7fba83b-2406-434e-b6c9-7d5844c21948)\n\n// \u0026\u0026 signifie ET en programmation \n// il faut que toutes les conditions soient remplies pour entrer dans if (si nom n'est pas vide ET prénom n'est pas vide ET email n'est pas vide) \n// le \u0026\u0026 (ET) et || (OU) sont souvent utilisés, ils existent aussi en \"and\" et \"or\"\n\nRésultat si on ne saisit pas tous les champs : \n\n\n\n\u003ch2\u003ePartie 4 : Ajouter la majorité\u003c/h2\u003e\nNous allons ajouter l’année de naissance sur le formulaire dans un champ input type text (name=\"year-of-birth\")\nCôté PHP, on met dans une variable \n\n$yearBirth = $_POST['year-of-birth'];\n\nDans le message ajoutez l’année de naissance et sa majorité : \n\"Bonjour Nom Prénom, voici votre email : test@gmail.com. Vous êtes né(e) le 2001. Vous êtes majeur.\"\n\"Bonjour Nom Prénom, voici votre email : test@gmail.com. Vous êtes né(e) le 2015. Vous êtes mineur.\"\n\nAide : Si l’année actuelle moins l’année de naissance est supérieure ou égale à 18, il/elle est majeur(e), sinon il/elle est mineur(e).\n\n![code](https://github.com/user-attachments/assets/04103d4d-7685-432f-9076-045add61ee54)\n\n\n\u003ch2\u003ePartie 5 : Créer une fonction pour vérifier la majorité\u003c/h2\u003e\n\nCréer une fonction estMajeur() que vous utiliserez : if (estMajeur($yearBirth) == true)\nAide : la fonction returnera un booléen (true ou false)\n\nAller plus loin \nPlacer la fonction dans un fichier à part que vous incluez :\ninclude \"fonction.php\";\nOU\nrequire \"fonction.php\";\n// require va arrêter le script s'il ne trouve pas le fichier contrairement à include \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmloks77%2Ftpbdd-form","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmloks77%2Ftpbdd-form","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmloks77%2Ftpbdd-form/lists"}