Vous n'êtes pas identifié(e).
Bonjour à tous,
Je cherche un script php tout simple qui serait capable d'afficher le contenu d'un fichier texte dans une page. Ensuite, grâce à un bouton "Modifier" on peut éditer ce fichier et sauvegarder le nouveau contenu qui se réaffiche dans la page.
Vraiment du très léger donc, puisqu'il n'y a qu'une seule page avec X lignes, pas de mise en forme du texte, pas de loggin.
Le seul script que j'ai trouvé qui s'en approche est wikkikubbe ( http://dev.kd2.org/wikikubbe/ )
Mais il est trop "complexe" pour ce que je veux faire.
SI vous avez des pistes, je suis preneur. Merci d'avance pour vos réponses
Ps : C'est pour intégrer à Zite, de façon à ce qu'une personne puisse laisser des commentaires sur des photos, sans pour autant se logger dans Zite
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Hello soupaloignon,
arrête de retenir ta respiration, voici peut-être ton bonheur.
Clique ici http://www.lbb.org/script/Php/Livre_d_or/index.php.
Ils présentent 'Admbook' 'Ackansoftguestbook' 'Amygdela's guest book' 'Ardguest' 'Bellabook', donc 6 Guest Book PHP sans MySQL rien que sur la première page...
Reste à savoir si au moins un de ceux-là est aussi simple que tu le souhaites.
Je te le souhaite.
Bon courage
Hors ligne
Hello vincecat,
Merci pour le lien, et ta manière de le présenter . Mais ce n'est pas ce type de script que je recherche. J'en avais déjà trouvé quelques uns sur comscripts et ils sont vraiment surdimensionnés par rapport à ce que je veux faire avec.
Moi c'est juste la lecture et l'édition d'un seul fichier texte que je veux faire. Je suis en train d'essayer de coder ça, mais bon, comme je touche pas trop le php je galére.
Mais merci encore de ton intervention
J'ai eu une info d'un autre forum, mais hélas cela ne fonctionne pas (le fichier ne s'affiche pas dans la page) dommage car cela semble correspondre à ce que je cherche. Je laisse le code ici, on sait jamais
<?php
// Formulaire pour modifier un fichier texte
$chemin = '01.txt'; // le chemin de votre fichier
// //
// RECUPERATION DES VARIABLES POST //
// //
$modifier = isset($_POST['modifier']) ? $_POST['modifier'] : '';
$texte = isset($_POST['texte']) ? $_POST['texte'] : '';
// Modification du fichier
if ($modifier == 1) {
$f = fopen($chemin, "w+");
fputs($f, $texte);
fclose($f);
}
// lit le contenu du fichier
$f = fopen($chemin, "r");
$contenu = fread($f, filesize($chemin));
fclose($f);
?>
Dernière modification par soupaloignon (06/05/2009 10:54:49)
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Slt soupaloignon,
Je t'ai confectionné un petit script rien que pour toi ^^!
Voici le script:
<?php
$fichier="modif.txt"; // Nom du fichier à modifier
if(isset($_POST['boutton']))
{
unlink($fichier); // suppression du fichier pour le remplacer par le nouveau avec les nouveau éléments
$ouverture=fopen("$fichier","a+"); // Création du nouveau fichier et ouverture du fichier
fwrite($ouverture,"$_POST[modif]"); // ecriture
fclose($ouverture); // fermeture du fichier
echo '<h2>Modification effectue</h2>'; // Affichage validation
}
?>
<form method="post" action="modification.php">
<TEXTAREA name="modif" rows="10" COLS="40">
<?php
$reouverture=fopen("$fichier","r+"); // reouverture du fichier
$print=fgets($reouverture); // recuperation des données du fichier
echo $print; // affichage des données du fichier dans le TEXTAREA
fclose($reouverture); // fermeture du fichier
?>
</TEXTAREA>
<br/><input type="submit" name="boutton" value="Modifier">
</form>
Il te suffit de créer le fichier que tu souhaite modifier et y mettre son nom sur la premiere ligne dans le script et le tour est joué!
Fait moi signe en cas de besoin,
++
Dernière modification par phpeur (06/05/2009 21:39:54)
Hors ligne
Merci phpeur, c'est vraiment très sympa de ta part
Le script est tout à fait dans l'esprit de ce que je cherchais. Il fonctionne, mais par contre il ne gére pas les retours à la ligne dans le texte.
Si le fichier txt contient déjà plusieurs lignes il ne va afficher que la 1ere ligne (en fait il s'arrête au premier retour charriot). Dans le cas d'un fichier vide au chargement de la page, il ne va enregistrer que la 1ere ligne également.
J'avais également buté sur cette histoire de lecture de toutes les lignes dans les différents tests que j'ai fait. Mais bon, je n'ai pas tes connaissances en php, donc je me doute que pour toi cela ne doit pas être grand chose à régler.
Merci d'avance
Dernière modification par soupaloignon (07/05/2009 12:09:47)
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Merci phpeur, c'est vraiment très sympa de ta part
Si le fichier txt contient déjà plusieurs lignes il ne va afficher que la 1ere ligne (en fait il s'arrête au premier retour charriot). Dans le cas d'un fichier vide au chargement de la page, il ne va enregistrer que la 1ere ligne également.J'avais également buté sur cette histoire de lecture de toutes les lignes dans les différents tests que j'ai fait. Mais bon, je n'ai pas tes connaissances en php, donc je me doute que pour toi cela ne doit pas être grand chose à régler.
Merci d'avance
C'est normal, il ne faut pas utiliser fgets ainsi: fgets s'arrete de lire le fichier à la première fin de ligne détectée comme tu l'as remarqué.
Essaye de remplacer le bloc
<?php
$reouverture=fopen("$fichier","r+"); // reouverture du fichier
$print=fgets($reouverture); // recuperation des données du fichier
echo $print; // affichage des données du fichier dans le TEXTAREA
fclose($reouverture); // fermeture du fichier
?>
par
<? echo nl2br(file_get_contents($chemin)); ?>
Dernière modification par jpg (07/05/2009 14:33:20)
Hors ligne
Alors en remplaçant le blac par cette ligne cela donne :
A l'affichage de la page il y a ça qui s'affiche dans le text area :
<br />
<b>Warning</b>: file_get_contents() [<a href='function.file-get-contents'>function.file-get-contents</a>]: Filename cannot be empty in <b>/homepages/32/d145170154/htdocs/test-logiciels/lire-fichier-txt/index.php</b> on line <b>16</b><br />
Et lorsque j'efface le contenu, que j'en rentre un autre et que j'enregistre, idem :
<br />
<b>Warning</b>: file_get_contents() [<a href='function.file-get-contents'>function.file-get-contents</a>]: Filename cannot be empty in <b>/homepages/32/d145170154/htdocs/test-logiciels/lire-fichier-txt/index.php</b> on line <b>16</b><br />
La ligne 16 étant :
<? echo nl2br(file_get_contents($chemin)); ?>
Dernière modification par soupaloignon (07/05/2009 19:34:27)
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Slt!
Arfff.. je pensais que c'était pour la lecture d'une seule ligne! !
Le code de jpg est très bon à un détail près! ^^!
Il à renseigner comme suite:
<? echo nl2br(file_get_contents($chemin)); ?>
Remplace $chemin par $fichier, ce qui donne:
<? echo nl2br(file_get_contents($fichier)); ?>
Sa devrait fonctionner !
N'hésite pas en cas de besoin,
++
Dernière modification par phpeur (07/05/2009 19:59:38)
Hors ligne
Merci pour votre aide à tous les 2, vraiment très sympa
Alors ça avance. Avec ta modif phpeur, cela lit les retours lignes. Par contre voilà ce qui s'affiche lorsque partant d'un fichier vide j'écris 3 lignes. Dans le textarea les retours lignes en html sont visibles
test<br />
test<br />
test<br />
<br />
Dernière modification par soupaloignon (07/05/2009 20:16:09)
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Ouaip normal!
Remplace:
<? echo file_get_contents($fichier); ?>
affichera exactement ce que tu aura entré dans le TEXTAREA, donc mettre ceci dedans.
Si tu veut afficher le contenu du fichier dans une page HTML, il te faudra mettre le code cité avant, à savoir:
<? echo n2lbr(file_get_contents($fichier)); ?>
++
Dernière modification par phpeur (07/05/2009 21:18:41)
Hors ligne
Merci
On ne vois plus les <br> mais il y a un comportement curieux. Je te laisse le lien
http://monserveur.info/test-logiciels/lire-fichier-txt
Dernière modification par soupaloignon (07/05/2009 21:29:55)
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
sa ne devrait pas! ^^!
Je te remet le code en entier et dit moi ce que sa donne:
<?php
$fichier="modif.txt"; // Nom du fichier à modifier
if(isset($_POST['boutton']))
{
unlink($fichier); // suppression du fichier pour le remplacer par le nouveau avec les nouveau éléments
$ouverture=fopen("$fichier","a+"); // Création du nouveau fichier et ouverture du fichier
fwrite($ouverture,"$_POST[modif]"); // ecriture
fclose($ouverture); // fermeture du fichier
echo '<h2>Modification effectue</h2>'; // Affichage validation
}
?>
<form method="post" action="modification.php">
<TEXTAREA name="modif" rows="10" COLS="40">
<?
echo file_get_contents($fichier);
?>
</TEXTAREA>
<br/><input type="submit" name="boutton" value="Modifier">
</form>
Dernière modification par phpeur (07/05/2009 21:29:41)
Hors ligne
loll, non, je me suis gourré, cela s'affiche bien
Je teste ton code
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Yessssssssssssssssssssssssssss
Ca marche . Génial, un grand merci à vous
Dernière modification par soupaloignon (07/05/2009 21:34:28)
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Et maintenant qu'est ce que vous me conseillez pour l'inclure dans les pages ?
Un include ? Mais auquel cas il faut que je transforme mes pages html en php non ?
Ou bien une iframe ?
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Oulalal non non, IFRAME à banir! !
Toujours et simplement en php:
<?php
$fichier="modif.txt"; // Nom du fichier à ouvrir
echo nl2br(file_get_contents($fichier)); // Affichage
?>
++
Hors ligne
Je sais que l'iframe c'est pas le top, surtout pour le référencement. Mais là je vais utiliser ça juste pour des besoins perso, on est 2 à y aller.
J'ai testé les 2 formules.
L'iframe fonctionne bien
L'inclusion du code par contre, pas du tout. Déjà il faut que je mette le code au complet, pour qu'à partir de la page on puisse le modifier. Ensuite j'ai donc transformé la page existante html en php, et là plus rien ne marche
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
???
Plus rien ne marche? c'est à dire? Qu'as tu fait exactement?
Sinon libre à toi d'utiliser ce que tu veut , iframe ou pas! ^^!
++
Hors ligne
Je passe en editeur html
Je copie le code complet (pour pouvoir modifier dans la page)
j'enregistre
puis j'enregistre la page html en php
lorsque je revien sdans le code source il ne reste que ça du code php :
Modification effectue'; // Affichage validation } ?>
Dernière modification par soupaloignon (07/05/2009 22:21:50)
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Effectivement très curieux, sa ne devrait pas...
Ravi de t'avoir aidé, contact moi en cas de besoin!
++
Hors ligne
j'ai modifié mon message précédent, avec plus de détails
Mais je pense que je vais rester avec l'iframe, qui convient au vu de mes besoins
Merci encore pour ton aide, super
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Arfff! oui c normal! ^^!
Les editeurs WYSIWYG n'aiment pas trop le code php ^^!!!
Tous les editeurs (tinymce, fckditor...etc) ne garde uniquement le code HTML.
Ce que je te propose, tu fait la mise en forme via l'editeur WYSIWYG, une fois finie, tu copie le code html de l'editeur, tu le colle dans ton editeur de fichier (bloc note, notepad....) puis tu ajoute manuellement le code PHP là où tu veut.
En esperant t'avoir aidé!
++
Dernière modification par phpeur (07/05/2009 22:32:49)
Hors ligne
Un peu plus d'infos, en fait j'étais déjà tombé sur ce probleme il y a pas mal de temps, et j'avais zappé.
Lorsque j'inclus du code php dans une page php de zite via la vue html, le code php est tronqué. pour l'avoir en entier il faut que je rapatrie le fichier txt de zdata correspondnat en ftp, que je fasse la modif sur l'ordi et que je renvoi. et là ca fonctionne, le code est en entier
==> Libérez les Huitres du Bassin d'Arcachon <==
Linux Mint 18.3
Hors ligne
Oui normal,
Comme je te disais, les editeurs WYSIWYG n'enrengistre QUE la mise en forme HTML, aucun contenu php n'est enrengistré...
Le code PHP est à ajouter manuellement.
++
Hors ligne
Autre possibilité, désactiver le controle de code de Tinymce en éditant le fichier zite/tinymce.php et mettre la ligne 'verify_html: true,' sur false.
Normalement, dans ce cas Tiny ne change rien à ce qui est écrit mais plus de correction des erreurs HTML pour être conforme XHTML.
Cordialement
P.S.: phpeur, je vois que t'as l'air de coder du php comme je m'enfile une bière... Tu pourrais pas regarder mon post sur Free et le multiview pour compenser l'absence d'url rewriting (j'ai posté dans la rubrique discussion sur Zite). J'ai indiqué un lien vers un site qui détaille sa solution et son code. Merci.
Hors ligne