Créer une page modifiable par l'utilisateur
Résolu/Fermé
patty5046
Messages postés
46
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
15 septembre 2023
-
4 mai 2020 à 15:15
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 - 25 mai 2020 à 09:08
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 - 25 mai 2020 à 09:08
A voir également:
- Créer une page modifiable par l'utilisateur
- Supprimer une page word - Guide
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer une page facebook - Guide
- Comment créer un groupe whatsapp - Guide
7 réponses
patty5046
Messages postés
46
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
15 septembre 2023
5
24 mai 2020 à 09:49
24 mai 2020 à 09:49
Bonjour et merci pour les conseils
Mais je ne fais pas cela pour un client, je ne me permettrais pas de faire payer un site sans maîtriser ces langages.
En fait, je souhaitais simplement tenter de faire un petit site pour aider un ami qui a eu bien des problèmes ces temps-ci, comme tous les restaurateurs d'ailleurs.
Je suis déjà allée au lien que tu me donnes il y a quelques semaines, mais je n'ai pas réussi à mettre en oeuvre. J'ai donc essayé de procéder autrement sans succès non plus. Je pense que je ne suis pas loin , mais je bute.
Je ne peux pas me permettre de prendre un CMS qui me coûtera de l'argent alors que je n'ai pas l'intention de demander un centime. Il faudra déjà que je paie l'hébergement, je suis généreuse, mais il y a forcément des limites.
Je vois que pour la construction d'un site les aides ne sont pas faciles à obtenir ou du moins à comprendre, alors que pour ce qui est par exemple du VBA sous Excel, il m'est arrivé de faire tout le travail pour certains , et de mon côté d'obtenir rapidement de l'aide lorsque j'en avais besoin, mais c'est vrai que ce langage est plus simple et plus près de ce que je faisais lorsque je travaillais.
Pauvre de moi, je souhaite aider et suis triste de voir que j'en suis incapable.
Je vais comme on m'a dit regarder du côté d'Ajax peut-être ...
Désolée du dérangement.
Merci d'avoir essayé de me donner des conseils.
Bonne journée à tous
Mais je ne fais pas cela pour un client, je ne me permettrais pas de faire payer un site sans maîtriser ces langages.
En fait, je souhaitais simplement tenter de faire un petit site pour aider un ami qui a eu bien des problèmes ces temps-ci, comme tous les restaurateurs d'ailleurs.
Je suis déjà allée au lien que tu me donnes il y a quelques semaines, mais je n'ai pas réussi à mettre en oeuvre. J'ai donc essayé de procéder autrement sans succès non plus. Je pense que je ne suis pas loin , mais je bute.
Je ne peux pas me permettre de prendre un CMS qui me coûtera de l'argent alors que je n'ai pas l'intention de demander un centime. Il faudra déjà que je paie l'hébergement, je suis généreuse, mais il y a forcément des limites.
Je vois que pour la construction d'un site les aides ne sont pas faciles à obtenir ou du moins à comprendre, alors que pour ce qui est par exemple du VBA sous Excel, il m'est arrivé de faire tout le travail pour certains , et de mon côté d'obtenir rapidement de l'aide lorsque j'en avais besoin, mais c'est vrai que ce langage est plus simple et plus près de ce que je faisais lorsque je travaillais.
Pauvre de moi, je souhaite aider et suis triste de voir que j'en suis incapable.
Je vais comme on m'a dit regarder du côté d'Ajax peut-être ...
Désolée du dérangement.
Merci d'avoir essayé de me donner des conseils.
Bonne journée à tous
patty5046
Messages postés
46
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
15 septembre 2023
5
24 mai 2020 à 10:48
24 mai 2020 à 10:48
Merci encore pour tout
Salut,
pour qu'il y ait un submit(soumettre en français) il faut un formulaire.
Un formulaire est un élément HTML.
En aucun cas un tableau(balise table) ne sert à indiquer quoique ce soit.
Ce sont uniquement des champs de formulaire (balise FORM) qui servent à cela, ils sont nommés INPUT(ou d'autres noms plus spécifiques à leur rôles comme une case à cocher se nommera checkbox). L'élément submit est aussi un élément de formulaire(et uniquement de formulaire il n'existe pas en dehors de ce cadre).
Exemple de formulaire et principe de fonctionnement:
https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples
en plus complet le manuel HTML:
https://www.w3schools.com/html/html_forms.asp
Voilà maintenant que nous savons comment envoyer des données il faut savoir quoi en faire.
Qui dit envoi dit destinataire. C'est là qu'intervient PHP.
PHP est un programme serveur(et nécessite le support serveur pour e faire fonctionner, par exemple installer WAMP sur Windows qui permet de l'utiliser).
Il permet de récupérer les données envoyées par le formulaire et de les envoyer à la base de données.
Revenons un instant au formulaire pour remarquer les différences moyens possibles d'envoi. Il s'agit de l'attribut METHOD du formulaire(balise FORM) et de l'attribut ACTION qui indique pour la méthode d'envoi:
soit GET soit POST pour respectivement les données envoyées vers la même page et vers une page de traitement
et la destination de l'envoi pour action, c'est à dire le fichier qui va traiter les données.
Ici je ne parlerais pas de la méthode GET qui bien que fonctionnant de la même manière et beaucoup moins intéressante dans le cas qui nous importe.
Donc avec le formulaire correctement remplit en METHOD POST l'attribut ACTION doit pointer(indiquer l'URL) vers le fichier PHP pour le traitement.
Un exemple ici:
https://www.php.net/manual/fr/tutorial.forms.php
Une fois ces données récupérées par PHP le programme peut les traiter.
Ce traitement correspond à vérifier que les données sont valides et autres sécurité d'usage.
Ces sécurités sont importantes. Elle nécessitent d'être prises en comptes sous peine que n'importe qui puisse accéder au contenu de la base de donnée, la modifier voire la supprimer
Une des sécurités les plus évidentes est de mettre en place un mot de passe et identifiant pour accéder au pages mais il reste d'autres point à sécuriser comme la vérification des valeurs entrées dans le formulaire mais je ne détaillerais pas par soucis de concision.
La base de données.
Une base de données c'est le cœur du programme. Elle contient en effet toutes les informations qui sont vouées à changer. Elle se présentent sous forme de plusieurs tables de données(colonnes lignes).
Là aussi je vais faire bref car il y aurait beaucoup à dire mais c'est assez simple dans le principe.
Les colonnes sont appelées champs de données et ont un intitulé le plus expressif possible.
Les lignes de données correspondent à toutes les valeurs possibles et imaginables que peuvent prendre les données.
Plusieurs tables sont nécessaire pour croiser les valeurs et retrouver des données selon les nécessités. On parle de bases de données relationnelles(il en existe bien sûr d'autres types mais ce n'est pas le sujet).
Le langage des bases de données(peu ou prou) est le SQL.
Il permet par un système de requêtes des tris, des comparaisons, des groupes, d'obtenir les données ou la donnée recherchée selon le filtre que l'on veut sur les champs et les tables que contient la base de données. Les choix des tables et des champs qui doivent exister sont donc primordiaux, pour rappel une table est un liste de champs de données regroupées ensemble et qi comporte une valeur identifiante assurant l'intégrité des données, c'est à dire que l'on puisse différencier et donc retrouver chaque ligne de donnée existante.
PHP permet d'envoyer une requête SQL à la base de données.
Voir ici:
https://www.php.net/manual/fr/book.pdo.php
Pour l'affichage il faut utiliser le même principe sauf qu'à la place du formulaire une zone HTML sera écrite par PHP.
PHP via la possibilité de faire des requêtes va demander les données à afficher à la base de données.
Une fois ces données otenues le programme peut écrire le HTML nécessaire, par exemple avec la fonction echo.
Ce principe est assez simple quand on l'a compris. Ce qui est complexe à comprendre c'est qu'il fait appel à plusieurs mécanismes/technologies différentes et en différent lieux physiques: le serveur pour PHP, le serveur de bases de données, la page dans le navigateur chez l'utilisateur.
Pourquoi cette façon de faire et pas un seul langage pour tout faire.
Le fait que la partie programme serveur en PHP se déroule avant l'affichage de la page chez l'internaute rend le PHP invisible à l'utilisateur. Tout se passe côté serveur(généralement fournit par l'hébergeur Web).
Encore mieux la base de données n'est jamais directement accessible par le réseau Internet puisque tout passe par PHP qui comme indiqué au dessus n'est pas accessible directement par l'utilisateur.
Cela permet donc d'avoir une base de données qui est sécurisée.
Dans le cadre d'un menu journalier cela veut dire que personne n'accédera au menu avant qu'il soit rendu disponible mais aussi que personne ne pourra le modifier en se connectant à la base de donnée directement. Pour la gestion de paie, de chiffres d'affaires, de stocks, etc... c'est exactement la même chose. Une système d'informations qui ne serait pas sûr(et auquel n'importe qui peut accéder et modifier comme il veut) n'est simplement pas viable.
Voici un cours complet sur le principe mais n'hésitez pas à aller en voir d'autres il y en a un paquet tout aussi valables:
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql
pour qu'il y ait un submit(soumettre en français) il faut un formulaire.
Un formulaire est un élément HTML.
En aucun cas un tableau(balise table) ne sert à indiquer quoique ce soit.
Ce sont uniquement des champs de formulaire (balise FORM) qui servent à cela, ils sont nommés INPUT(ou d'autres noms plus spécifiques à leur rôles comme une case à cocher se nommera checkbox). L'élément submit est aussi un élément de formulaire(et uniquement de formulaire il n'existe pas en dehors de ce cadre).
Exemple de formulaire et principe de fonctionnement:
https://www.commentcamarche.net/contents/493-formulaires-html-cours-et-exemples
en plus complet le manuel HTML:
https://www.w3schools.com/html/html_forms.asp
Voilà maintenant que nous savons comment envoyer des données il faut savoir quoi en faire.
Qui dit envoi dit destinataire. C'est là qu'intervient PHP.
PHP est un programme serveur(et nécessite le support serveur pour e faire fonctionner, par exemple installer WAMP sur Windows qui permet de l'utiliser).
Il permet de récupérer les données envoyées par le formulaire et de les envoyer à la base de données.
Revenons un instant au formulaire pour remarquer les différences moyens possibles d'envoi. Il s'agit de l'attribut METHOD du formulaire(balise FORM) et de l'attribut ACTION qui indique pour la méthode d'envoi:
soit GET soit POST pour respectivement les données envoyées vers la même page et vers une page de traitement
et la destination de l'envoi pour action, c'est à dire le fichier qui va traiter les données.
Ici je ne parlerais pas de la méthode GET qui bien que fonctionnant de la même manière et beaucoup moins intéressante dans le cas qui nous importe.
Donc avec le formulaire correctement remplit en METHOD POST l'attribut ACTION doit pointer(indiquer l'URL) vers le fichier PHP pour le traitement.
Un exemple ici:
https://www.php.net/manual/fr/tutorial.forms.php
Une fois ces données récupérées par PHP le programme peut les traiter.
Ce traitement correspond à vérifier que les données sont valides et autres sécurité d'usage.
Ces sécurités sont importantes. Elle nécessitent d'être prises en comptes sous peine que n'importe qui puisse accéder au contenu de la base de donnée, la modifier voire la supprimer
Une des sécurités les plus évidentes est de mettre en place un mot de passe et identifiant pour accéder au pages mais il reste d'autres point à sécuriser comme la vérification des valeurs entrées dans le formulaire mais je ne détaillerais pas par soucis de concision.
La base de données.
Une base de données c'est le cœur du programme. Elle contient en effet toutes les informations qui sont vouées à changer. Elle se présentent sous forme de plusieurs tables de données(colonnes lignes).
Là aussi je vais faire bref car il y aurait beaucoup à dire mais c'est assez simple dans le principe.
Les colonnes sont appelées champs de données et ont un intitulé le plus expressif possible.
Les lignes de données correspondent à toutes les valeurs possibles et imaginables que peuvent prendre les données.
Plusieurs tables sont nécessaire pour croiser les valeurs et retrouver des données selon les nécessités. On parle de bases de données relationnelles(il en existe bien sûr d'autres types mais ce n'est pas le sujet).
Le langage des bases de données(peu ou prou) est le SQL.
Il permet par un système de requêtes des tris, des comparaisons, des groupes, d'obtenir les données ou la donnée recherchée selon le filtre que l'on veut sur les champs et les tables que contient la base de données. Les choix des tables et des champs qui doivent exister sont donc primordiaux, pour rappel une table est un liste de champs de données regroupées ensemble et qi comporte une valeur identifiante assurant l'intégrité des données, c'est à dire que l'on puisse différencier et donc retrouver chaque ligne de donnée existante.
PHP permet d'envoyer une requête SQL à la base de données.
Voir ici:
https://www.php.net/manual/fr/book.pdo.php
Pour l'affichage il faut utiliser le même principe sauf qu'à la place du formulaire une zone HTML sera écrite par PHP.
PHP via la possibilité de faire des requêtes va demander les données à afficher à la base de données.
Une fois ces données otenues le programme peut écrire le HTML nécessaire, par exemple avec la fonction echo.
Ce principe est assez simple quand on l'a compris. Ce qui est complexe à comprendre c'est qu'il fait appel à plusieurs mécanismes/technologies différentes et en différent lieux physiques: le serveur pour PHP, le serveur de bases de données, la page dans le navigateur chez l'utilisateur.
Pourquoi cette façon de faire et pas un seul langage pour tout faire.
Le fait que la partie programme serveur en PHP se déroule avant l'affichage de la page chez l'internaute rend le PHP invisible à l'utilisateur. Tout se passe côté serveur(généralement fournit par l'hébergeur Web).
Encore mieux la base de données n'est jamais directement accessible par le réseau Internet puisque tout passe par PHP qui comme indiqué au dessus n'est pas accessible directement par l'utilisateur.
Cela permet donc d'avoir une base de données qui est sécurisée.
Dans le cadre d'un menu journalier cela veut dire que personne n'accédera au menu avant qu'il soit rendu disponible mais aussi que personne ne pourra le modifier en se connectant à la base de donnée directement. Pour la gestion de paie, de chiffres d'affaires, de stocks, etc... c'est exactement la même chose. Une système d'informations qui ne serait pas sûr(et auquel n'importe qui peut accéder et modifier comme il veut) n'est simplement pas viable.
Voici un cours complet sur le principe mais n'hésitez pas à aller en voir d'autres il y en a un paquet tout aussi valables:
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql
patty5046
Messages postés
46
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
15 septembre 2023
5
4 mai 2020 à 17:32
4 mai 2020 à 17:32
Bonsoir
Merci pour cette réponse
Je vais encore étudier tout cela à tête reposée, car je suis fatiguée de parcourir tous les conseils sans jamais trouver ce qui me convient.
Donc un peu de repos, puis je m'y remets après m'être vidé la tête.
Merci encore
Je marquerai résolu lorsque j'aurai terminé ou abandonné en sautant par la fenêtre
A bientôt
Merci pour cette réponse
Je vais encore étudier tout cela à tête reposée, car je suis fatiguée de parcourir tous les conseils sans jamais trouver ce qui me convient.
Donc un peu de repos, puis je m'y remets après m'être vidé la tête.
Merci encore
Je marquerai résolu lorsque j'aurai terminé ou abandonné en sautant par la fenêtre
A bientôt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
patty5046
Messages postés
46
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
15 septembre 2023
5
23 mai 2020 à 15:20
23 mai 2020 à 15:20
Bonjour à tous
Après avoir fait beaucoup de recherches, je vais clore ce sujet pour en ouvrir un autre avec une nouvelle méthode.
Mais je bloque toujours
Merci
Après avoir fait beaucoup de recherches, je vais clore ce sujet pour en ouvrir un autre avec une nouvelle méthode.
Mais je bloque toujours
Merci
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
Modifié le 24 mai 2020 à 07:53
Modifié le 24 mai 2020 à 07:53
Bonjour,
Je ne comprends pas pourquoi tu développes un site Web professionnel si tu n'en as pas les compétences, c'est très risqué pour ton client.
Pour commencer, il faudrait que tu comprennes ce que tu fais, copier/coller un script sans le comprendre n'est pas la bonne solution.
Tu ferais mieux d'utiliser un CMS, d'apprendre à bien t'en servir, et à l'adapter aux besoins de ton client.
Il y en a de très simples et assez complets, par exemple PluXml qui n'utilise pas de système de gestion de base de données.
D'autres sont plus complets, mais aussi un peu plus complexes, par exemple : DotClear, Drupal, Joomla, WordPress, etc.
Certains permettent une gestion fine des droits d'administration ou de rédaction des utilisateurs.
Il est aussi possible d'utiliser une plate-forme de création et d'hébergement de site Web, par exemple Google-Sites, qui est gratuite et sans publicité, permet d'administrer le site à plusieurs niveaux, d'utiliser un nom de domaine personnalisé, etc.
J'avais proposé une solution, en 2013, dans ce forum, j'ai retrouvé le post :
https://forums.commentcamarche.net/forum/affich-29095948-creer-une-page-facilement-modifiable-a-partir-du-navigateur
Mais, comme je le dis au début de mon message, il faut comprendre ce que tu utilises.
Je ne comprends pas pourquoi tu développes un site Web professionnel si tu n'en as pas les compétences, c'est très risqué pour ton client.
Pour commencer, il faudrait que tu comprennes ce que tu fais, copier/coller un script sans le comprendre n'est pas la bonne solution.
Tu ferais mieux d'utiliser un CMS, d'apprendre à bien t'en servir, et à l'adapter aux besoins de ton client.
Il y en a de très simples et assez complets, par exemple PluXml qui n'utilise pas de système de gestion de base de données.
D'autres sont plus complets, mais aussi un peu plus complexes, par exemple : DotClear, Drupal, Joomla, WordPress, etc.
Certains permettent une gestion fine des droits d'administration ou de rédaction des utilisateurs.
Il est aussi possible d'utiliser une plate-forme de création et d'hébergement de site Web, par exemple Google-Sites, qui est gratuite et sans publicité, permet d'administrer le site à plusieurs niveaux, d'utiliser un nom de domaine personnalisé, etc.
J'avais proposé une solution, en 2013, dans ce forum, j'ai retrouvé le post :
https://forums.commentcamarche.net/forum/affich-29095948-creer-une-page-facilement-modifiable-a-partir-du-navigateur
Mais, comme je le dis au début de mon message, il faut comprendre ce que tu utilises.
patty5046
Messages postés
46
Date d'inscription
lundi 8 février 2016
Statut
Membre
Dernière intervention
15 septembre 2023
5
24 mai 2020 à 11:04
24 mai 2020 à 11:04
C'est gentil, je regarderai encore.
Pour l'accès à la base, j'avais déjà fait connexion avec mot de passe pour modifier le menu, c'est pour entrer ce menu de façon pratique et propre que j'avais des soucis
Je viens de recréer un sujet :
Comment récupérer des données de JS à PHP
car j'avais trouvé pas mal cette possibilité de rentrer les infos ainsi...mais je ne les récupère pas dans la page où je souhaite les récupérer et les traiter
Je ne pourrai revoir tout cela qu'à partir de demain, invitation oblige
Bon dimanche
Pour l'accès à la base, j'avais déjà fait connexion avec mot de passe pour modifier le menu, c'est pour entrer ce menu de façon pratique et propre que j'avais des soucis
Je viens de recréer un sujet :
Comment récupérer des données de JS à PHP
car j'avais trouvé pas mal cette possibilité de rentrer les infos ainsi...mais je ne les récupère pas dans la page où je souhaite les récupérer et les traiter
Je ne pourrai revoir tout cela qu'à partir de demain, invitation oblige
Bon dimanche
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
Modifié le 24 mai 2020 à 15:59
Modifié le 24 mai 2020 à 15:59
En lisant ta nouvelle question dans le forum Programmation :
https://forums.commentcamarche.net/forum/affich-36671852-comment-recuperer-des-donnees-de-js-a-php
je pense comprendre ce que tu veux faire.
Un formulaire de mise à jour du menu ne comportant que trois champs, pour l'entrée, le plat principal et le dessert, et un affichage du menu directement mis en forme.
Ce nouveau script se compose de 3 fichiers, page-menu.php (pour afficher le menu), maj_menu.php (pour mettre à jour le menu) et dans le dossier data, le fichier menu.inc (la base de données).
Contenu du fichier page-menu.php :
Contenu du fichier menu.inc du dossier data :
Contenu du fichier maj_menu.php :
Voir les captures d'écran :
https://forums.commentcamarche.net/forum/affich-36671852-comment-recuperer-des-donnees-de-js-a-php
je pense comprendre ce que tu veux faire.
Un formulaire de mise à jour du menu ne comportant que trois champs, pour l'entrée, le plat principal et le dessert, et un affichage du menu directement mis en forme.
Ce nouveau script se compose de 3 fichiers, page-menu.php (pour afficher le menu), maj_menu.php (pour mettre à jour le menu) et dans le dossier data, le fichier menu.inc (la base de données).
Contenu du fichier page-menu.php :
<?php require_once 'data/menu.inc'; ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Menu</title> </head> <body> <div style="text-align: center;"><h4>MENU DU JOUR</h4> <p>Entrée : <?php echo $entree; "</p>"; ?></p> <p>Plat : <?php echo $plat; "</p>"; ?></p> <p>Dessert : <?php echo $dessert; "</p>"; ?></p> </div> </body> </html>
Contenu du fichier menu.inc du dossier data :
<?php $entree = ''; // Entree du jour $plat = ''; // Plat du jour $dessert = ''; // Dessert du jour ?>
Contenu du fichier maj_menu.php :
<?php session_start(); /****************************************************************************** Accès au FORMULAIRE ******************************************************************************/ $mdpMembres = 'toto'; // Mot de passe if ($maint == 1) { header("location: index.php"); } empty($_POST['mdpasse']) ? $mdpasse = '' : $mdpasse = $_POST['mdpasse']; empty($_GET['logout']) ? $logout = '' : $logout = $_GET['logout']; $PageMembres = ""; if ($mdpasse == $mdpMembres) { $PageMembres = "membresok"; $_SESSION['PageMembres'] = "membresok" ; } elseif ($logout == 1) { unset($_SESSION['PageMembres']); header("location: maj_menu.php"); } if ($_SESSION['PageMembres'] || $mdpasse == $mdpMembres) { //============================================================================= // Affichage de la page //============================================================================= // sert à écrire dans le fichier texte empty($_POST['entree']) ? $entree = '' : $entree = $_POST['entree']; empty($_POST['plat']) ? $plat = '' : $plat = $_POST['plat']; empty($_POST['dessert']) ? $dessert = '' : $dessert = $_POST['dessert']; empty($_POST['changer']) ? $changer = '' : $changer = $_POST['changer']; empty($_POST['enregistrer']) ? $enregistrer = '' : $enregistrer = $_POST['enregistrer']; if ($enregistrer == 1) { $changer = "<?php \$entree = '$entree'; // Entree du jour \$plat = '$plat'; // Plat du jour \$dessert = '$dessert'; // Dessert du jour ?>"; if (!empty($changer)) { $fichier = fopen("data/menu.inc", "w+"); fputs($fichier, $changer); fclose($fichier);} } require_once 'data/menu.inc'; ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Mise a jour Menu</title> </head> <body> <div style="text-align: center;"> <p>MODIFIER LE MENU</p> <hr> <form action="maj_menu.php" method="POST"> <input type="hidden" name="changer" value="changer"> <input type="hidden" name="enregistrer" value="1"> <p style="text-align: center">Entrée : <input type="text" name="entree" size="20" maxlength="40" value="<?php echo $entree; ?>"></p> <p style="text-align: center">Plat : <input type="text" name="plat" size="20" maxlength="40" value="<?php echo $plat; ?>"></p> <p style="text-align: center">Dessert : <input type="text" name="dessert" size="20" maxlength="40" value="<?php echo $dessert; ?>"></p> <p><input type="submit" value="Enregistrer" class="bouton"> <input type="Reset" value="Annuler" class="bouton"></p> </form> <p><a href="maj_menu.php?logout=1">Déconnexion</a></p> </div> <?php } else { // Si la connexion est fermée //----------------------------------------------------------------------------- // Formulaire de saisie du mot de passe //----------------------------------------------------------------------------- ?> <div style="text-align: center;"> <p>AUTHENTIFICATION POUR ACCES AU FORMULAIRE</p> <p><br></p> <form action="maj_menu.php" method="POST" name="le_pass"> <p>Entrez votre mot de passe :</p> <p><br></p> <p><input type="password" name="mdpasse" maxlength="10"></input></p> <p><br></p> <p><input type="submit" value="Connexion" class="bouton"></input></p> </form> <script type="text/javascript">document.le_pass.mdpasse.focus();</script> </div> <?php //----------------------------------------------------------------------------- } ?> </body> </html>
Voir les captures d'écran :
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
1 451
>
dugenou
Messages postés
6087
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
30 juillet 2021
25 mai 2020 à 09:08
25 mai 2020 à 09:08
Bonjour,
Je te remets le code de la page d'affichage du menu, car il y avait une petite erreur due à un copié/collé :
De toutes manières, ces pages ont vocation à être modifiées et adaptées à tes besoins. Le principal est de comprendre comment on déclare les variables, comment on les stocke dans une base de données (fichier texte) et comment on affiche ces variables.
Je te remets le code de la page d'affichage du menu, car il y avait une petite erreur due à un copié/collé :
<?php require_once 'data/menu.inc'; ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Menu</title> </head> <body> <div style="text-align: center;"><h4>MENU DU JOUR</h4> <p>Entrée : <?php echo $entree; ?></p> <p>Plat : <?php echo $plat; ?></p> <p>Dessert : <?php echo $dessert; ?></p> </div> </body> </html>
De toutes manières, ces pages ont vocation à être modifiées et adaptées à tes besoins. Le principal est de comprendre comment on déclare les variables, comment on les stocke dans une base de données (fichier texte) et comment on affiche ces variables.
24 mai 2020 à 10:34
L'utilisation de la plate-forme Google-Sites est également gratuite, il faut juste payer pour un nom de domaine personnalisé.
24 mai 2020 à 10:44
Un nom de domaine en .fr est à 10 Euros par an, il n'y a rien d'autre à payer.
Tu peux désigner un rédacteur pour modifier certains articles, par exemple le menu du restaurant.
Une autre solution qu'utilisent plusieurs restaurateurs dans ma région est simplement une page Facebook du restaurant.
C'est très simple à créer et à utiliser.
Modifié le 24 mai 2020 à 11:06
Il faut bien comprendre le principe de ce script.
Il consiste à séparer le contenu (le menu du restaurant) du contenant (le fichier HTML où est affiché le menu).
Le contenu est stocké dans une base de données, en l’occurrence un simple fichier texte (menu.txt).
Pour modifier le menu, il faut donc simplement modifier ce fichier texte, sans toucher à la page HTML.
Pour simplifier le travail du client, cette modification se fera à partir d'un formulaire en ligne.
Bien entendu, ce formulaire ne doit pas être accessible à tout le monde, il faut donc protéger son accès par un mot de passe.
Le système utilisé est une session.
Pour être bien interprété par le navigateur, le texte du menu sera écrit dans un formulaire qui le convertira en HTML par l'éditeur TinyMCE.
Ce script a donc deux fonctions, la première est de vérifier que la session est ouverte ou que le mot de passe entré est correct.
La seconde est de mettre à jour le fichier menu.txt.
Quand ton client ouvrira la page de mise à jour du menu, le script vérifiera que la session est ouverte et dans la négative, demandera de saisir le mot de passe. Il pourra ensuite modifier le menu à l'aide du formulaire. La mise à jour est instantanée après la validation du formulaire par ton client.
Je précise que la solution que je propose est fonctionnelle, mais pas vraiment sécurisée. Il faudrait, au minimum, placer un fichier .htaccess dans le dossier data (qui est la base de données), ce fichier .htaccess contiendrait ceci :
Deny from all
De plus, le mot de passe qui protège la page de mise à jour est en clair, il faudrait le placer dans un fichier mdp.php, lui-même placé dans le dossier data. Le mot de passe devrait être crypté ou "ashé".
Pour crypter ou "asher" le mot de passe, il est possible d'utiliser ce site : https://www.md5.fr
Par exemple le mot de passe toto devient : f71dbe52628a3f83a77ab494817525c6
Le fichier mdp.php contiendrait :
et il serait intégré au fichier maj_page.php de cette manière :
require_once 'data/mdp.php'; // Mot de passe
et remplacerait :
$mdpMembres = 'toto'; // Mot de passe
Dans la page maj_page.php, l'appel au mot de passe se ferait de cette manière :
if ((md5($mdpasse) == $mdpMembres)) {
à la place de :
if ($mdpasse == $mdpMembres) {
L'utilisateur n'aurait toujours qu'à écrire le mot de passe toto, pour accéder au formulaire de mise à jour.
Maintenant que ceci a été précisé, voici la procédure.
Il faut créer un dossier data à la racine du site et y placer un fichier texte menu.txt
Il faut télécharger l'éditeur TinyMCE sur https://www.tiny.cloud/ , dézipper l'archive et placer le dossier jscript à la racine du site.
La page dans laquelle s'affichera le menu doit comporter une extension .php (par exemple menu.php) et sera placée à la racine du site.
Affichage du menu à placer dans la partie <body> de la page en HTML :
Le formulaire de mise à jour du menu sera placé dans un fichier maj_page.php à la racine du site.
Le mot de passe est toto, il faut le changer.
Le script complet du formulaire de mise à jour :