Creer une page facilement modifiable a partir du navigateur

Résolu/Fermé
ghalox82 Messages postés 10 Date d'inscription mardi 12 novembre 2013 Statut Membre Dernière intervention 23 juin 2014 - 12 nov. 2013 à 19:35
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 - 13 nov. 2013 à 20:04
Bonjour,
je dois créer un site pour une garderie(en html), et je recherche désespérément le moyen le plus simple possible pour qu'un membre de la garderie(sans connaissances techniques) puisse lui-même modifier de temps à autres le menu a manger qui propose a la garderie, c'est à dire intervenir sur une zone texte (je ne parle même pas d'images)...
Quel est le meilleur moyen de faire ? Existe t'il un simple script (je ne suis pas tenté par les CMS que je découvre : trop compliqué pour la personne en question qui ne veut pas se prendre la tête..).
Une zone texte que la personne pourrait modifier en ligne avec son navigateur, avec login et mot de passe, serait l'idéal.
Avez vous une solution simple à mettre en oeuvre ?... le plus simple possible, please !...
Merci beaucoup
A voir également:

4 réponses

dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
Modifié par dugenou le 13/11/2013 à 06:36
Bonjour,
Tu peux le faire assez facilement en utilisant des fonctions de Php.

Pour l'affichage du texte dans ta page, c'est assez simple : Il faut changer l'extension de la page, de html en php, puis à l'endroit où se trouve le texte à mettre à jour, tu mets :

<?php

include("dossier/fichier.txt");
?>

Ce qui va permettre d'insérer le texte dans ta page.

Il faut aussi créer un dossier à la racine de ton site et y placer un fichier texte vide.

Ensuite, il faut créer le formulaire de mise à jour et en protéger l'accès.

Télécharge aussi l'éditeur TinyMCE, dézippe l'archive et place le dossier jscript à la racine de ton site.

Il faut créer un fichier en Php, par exemple maj_page.php, avec tout en haut de la page, ouvrir une session protégée par un mot de passe (toto dans mon exemple) :

<?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: index.php");

}

if (session_is_registered("PageMembres") || $mdpasse == $mdpMembres) {


Une fois la session créée ou ouverte, la page du formulaire s'affiche.

Il faut créer la fonction qui va permettre d'écrire dans le fichier texte et qui va afficher son contenu dans le formulaire de mise à jour.



//=============================================================================

// Affichage de la page
//=============================================================================


// sert à écrire dans le fichier texte
empty($_POST['txt']) ? $txt = '' : $txt = $_POST['txt'];


// Lire un fichier
function liref($fd) {
if (file_exists($fd)) {
$fichier = fopen($fd, "r");
$contenu = fread($fichier, filesize($fd));
fclose($fichier);}

else {
$contenu = "<b>Le fichier ".$fd." n'existe pas !</b>";}
return $contenu;
}

if (!empty($txt)) {
$fichier = fopen("dossier/fichier.txt", "w+");
fputs($fichier, $txt);
fclose($fichier);}



//Lit le fichier texte
$actu = liref("dossier/fichier.txt");
?>


PLACE ICI LE CODE HTML DE TA PAGE
Tu peux reprendre la même présentation que tes pages en Html.

<html>

<head>
</head>
<body>

CE SCRIPT EST CELUI FOURNI PAR L'EDITEUR TINY_MCE :
<script language="javascript" type="text/javascript"

src="jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
theme : "advanced",
mode : "textareas"
});
</script>

LE FORMULAIRE DE MISE A JOUR

<div style="text-align: center;">

<p>ADMINISTRATION</p>
<hr>
<p>MODIFIER LA PAGE</p>
<hr>
<form action="maj_page.php" method="POST">
<p><textarea cols="80" rows="20" name="txt"><?php echo $actu; ?></textarea></p>
<p><input type="submit" value="Enregistrer" class="bouton"> <input type="Reset" value="Annuler" class="bouton"></p>
</form>
<p><a href="maj_page.php?logout=1">Déconnexion</a></p>
</div>
}

SI LA SESSION N'EST PAS OUVERTE, IL FAUT ENTRER LE MOT DE PASSE

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_page.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>


Je n'ai pas testé cette page, mais ce sont des fonctions que j'utilise et qui fonctionnent.
1
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
Modifié par dugenou le 13/11/2013 à 07:54
J'ai testé le script, il fonctionne, mais il faut ajouter une balise d'ouverture PHP :

<?php
}
//SI LA SESSION N'EST PAS OUVERTE, IL FAUT ENTRER LE MOT DE PASSE


else { // Si la connexion est fermée
//-----------------------------------------------------------------------------
// Formulaire de saisie du mot de passe
//-----------------------------------------------------------------------------
?>


Le script complet :

<?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_page.php");

}

if (session_is_registered("PageMembres") || $mdpasse == $mdpMembres) {

//=============================================================================
// Affichage de la page
//=============================================================================


// sert à écrire dans le fichier texte
empty($_POST['txt']) ? $txt = '' : $txt = $_POST['txt'];


// Lire un fichier
function liref($fd) {
if (file_exists($fd)) {
$fichier = fopen($fd, "r");
$contenu = fread($fichier, filesize($fd));
fclose($fichier);}

else {
$contenu = "<b>Le fichier ".$fd." n'existe pas !</b>";}
return $contenu;
}

if (!empty($txt)) {
$fichier = fopen("dossier/fichier.txt", "w+");
fputs($fichier, $txt);
fclose($fichier);}



//Lit le fichier texte
$actu = liref("dossier/fichier.txt");
?>

<html>
<head>
</head>
<body>
<script language="javascript" type="text/javascript"
src="jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
theme : "advanced",
mode : "textareas"
});
</script>
<div style="text-align: center;">
<p>ADMINISTRATION</p>
<hr>
<p>MODIFIER LA PAGE</p>
<hr>
<form action="maj_page.php" method="POST">
<p style="text-align: center"><textarea cols="200" rows="20" name="txt"><?php echo $actu; ?></textarea></p>
<p><input type="submit" value="Enregistrer" class="bouton"> <input type="Reset" value="Annuler" class="bouton"></p>
</form>
<p><a href="maj_page.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_page.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>
0
ghalox82 Messages postés 10 Date d'inscription mardi 12 novembre 2013 Statut Membre Dernière intervention 23 juin 2014 1
13 nov. 2013 à 17:26
merci beaucoup mais je suis un peu perdu dans tous ce code est cke tu pourrais me reexpliquer un peu plus en detail ! genre quel code va dans quel dossier
Car quand jimplemente le tous dans un fichier il me donne ca comme erreur
Deprecated: Function session_is_registered() is deprecated in /home/content/89/11610789/html/garderie/text.php on line 61
merci
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
13 nov. 2013 à 17:53
Il y a une seule page à créer (maj_page.php), celle du formulaire de mise à jour, c'est à dire le code que je t'ai donné.

Bien sûr, cette page peut être modifiée afin de lui donner la même présentation que les pages de ton site, mais ce n'est pas obligatoire.

Dans le message que tu donnes, je vois que tu as changé le nom du fichier, est-ce que tu as bien modifié le script en conséquence ? C'est à dire aux endroits qui font référence au nom du fichier.
Si ton site est hébergé chez Free, il faut placer un dossier "sessions" à la racine du site.

Il faut aussi, créer un dossier dans lequel tu placeras un fichier texte vierge.
Dans mon exemple, j'ai appelé le dossier "dossier" et le fichier "fichier.txt", il faut bien entendu changer ces noms et modifier le script en conséquence. Il faut que le fichier texte soit autorisé en écriture et en lecture.

De même, je te donne le code à insérer dans la page qui doit être mise à jour :

<?php

include("dossier/fichier.txt");

?>

Il faut aussi modifier le nom du dossier et celui du fichier.

Si tu n'arrives pas à adapter ce code à ton site et à le faire fonctionner, je te conseille de passer à un CMS.
0
ghalox82 Messages postés 10 Date d'inscription mardi 12 novembre 2013 Statut Membre Dernière intervention 23 juin 2014 1
13 nov. 2013 à 18:05
OK JAI FAIT tous ce que tu m'a demander mais je recois encore ce msg :
Deprecated: Function session_is_registered() is deprecated in /home/content/89/11610789/html/garderie/maj_page.php on line 61
et une question au lieu que ca soit un fichier txt ca peu pas etre un ficher exel comme ca ya une table qui contient une ligne avec les noms de jours de la semaine et l'autre avec le repas servi dans le meme jour et en faite cke je voudrais quelle puisse changer juste le texte des repas c tous que ca soit en txt ou exel
je veux pas trop utiliser un CMS car je pense que c gros pour le site et jai jamais utiliser et puis je voi vrmt pas le faire
merci pour ton aide jattend ta reponse avec impatience
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
13 nov. 2013 à 18:14
Tu ne peux pas utiliser un fichier Excel, il faut impérativement un fichier texte.
Ton problème est lié à la session. Est-ce que tu as bien laissé

<?php

session_start();

au tout début du fichier, sans rien avant ?

Si tu as bien laissé le fichier comme je te l'ai donné, la ligne 61 est une ligne commentée, elle ne peut pas provoquer une erreur :

61 //Lit le fichier texte

Donne-moi une adresse mail par message privé, je te ferais parvenir une archive zip qui contient les différents dossiers et fichiers.
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
12 nov. 2013 à 19:43
Bonsoir,

En Html, ce n'est pas possible, je pense que tu n'as pas le choix, il faut que tu utilises un CMS, à moins d'être capable de créer un formulaire de mise à jour ne concernant qu'une page.
0
ghalox82 Messages postés 10 Date d'inscription mardi 12 novembre 2013 Statut Membre Dernière intervention 23 juin 2014 1
Modifié par ghalox82 le 12/11/2013 à 19:47
à moins d'être capable de créer un formulaire de mise à jour ne concernant qu'une page. ???Que veut tu dire par la :moi je veux que ca soit juste pour une seul page de celle du site web elle pourrait mm etre dans une autre place mais en gros je veux que la cliente elle meme puisse rentrer a partir de son navigateur changer le texte du menu de la semaine dans sa garderie
est ce que c'est possible avec un script ??
quelle sont mes options
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
12 nov. 2013 à 20:17
Ce que je veux dire : est-ce que tu es capable de coder un formulaire de mise à jour en Php ? Si oui, tu n'as pas besoin d'un CMS.
0
Oui bien sur je peut le faire mais comment donner a mon client qui aucune connaissande informatiqur un acces a une seule page ou il pourra changer le texte de son menu de manger a partir de son navigateur
Quel est le script qui pour m'aider a realiser ca
0