Editeur de fichier html & PHP
pinouf42
Messages postés
384
Statut
Membre
-
pinouf42 Messages postés 384 Statut Membre -
pinouf42 Messages postés 384 Statut Membre -
Bonjour,
Je voudrais faire un editeur de fichier html & php pour mon site, histoire de pouvoir le gérer sans logiciel.
J'ai fait ceci (le chemin du fichier étant déjà indiqué précédemment et le code de la page est bien affiché):
Disons que $fichier = "../index.php"
-----------------------------------------
PAGES2.PHP:
-----------------------------------------
Quand je clique sur le bouton Changer la page. Ca ne change rien.
Merci d'avance
--
Cordialement
Pinouf42
Je voudrais faire un editeur de fichier html & php pour mon site, histoire de pouvoir le gérer sans logiciel.
J'ai fait ceci (le chemin du fichier étant déjà indiqué précédemment et le code de la page est bien affiché):
Disons que $fichier = "../index.php"
-----------------------------------------
PAGES2.PHP:
-----------------------------------------
<?php
$fichier = $_POST['chemin'];
if($_POST['Submit']){
$open = fopen($fichier,"w+");
$text = $_POST['update'];
fwrite ($open, stripslashes($text));
fclose($open);
echo ("Fichier mis à jour.<br />");
$file = file($fichier);
foreach($file as $text) {
echo ($text."<br />");
}
}else{
$file = file($fichier);
echo ("<form action=".$PHP_SELF." method='post'>");
echo ("<textarea Name='update' cols='115' rows='20'>");
foreach($file as $text) {
echo ($text);
}
echo ("</textarea>");
echo ("<br /><br /><center><input name='Submit' type='submit' value='Changer la page' />\n
</center></form>");
}
?>
Quand je clique sur le bouton Changer la page. Ca ne change rien.
Merci d'avance
--
Cordialement
Pinouf42
Configuration: Microsoft Windows 7 Firefox 3.6 Beta 5
29 réponses
- 1
- 2
Suivant
-
Un submit n'est peut-être pas considéré comme un champ... La condition if($_POST['Submit']) n'est peut-être jamais vraie. Essaye de mettre if(isset($_POST['update'],$_POST['chemin'])
-
Je ne vois pas l'erreur...
Perso j'utilise :
unlink($fichier);$open=fopen($fichier,"a+");
Essaye peut-être...
A part action=".$PHP_SELF." où il faudrait mettre des apostropes comme action='".$PHP_SELF."', tout est parfait, apparemment -
Si tu regardes le code source, y a-t-il quelque chose qui est bizarre ?
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Vois-tu une erreur quelconque ? une balise non refermée, des guillemets mal placés...
-
-
Le \n n'est pas dans la partie d'ecriture du fichier. Normalement il ne change en rien le probleme.
-
Qu'entends-tu par "Quand je clique sur le bouton Changer la page. Ca ne change rien. " ?
-
Et bien, sa exécute la page mais il n'y a aucune modification.
J'utilise ce même code pour une autre page mais au lieu d'avoir $fichier, j'ai une valeur bien définie: texte.txt
Et lorsque je clique sur changer, ca fonctionne !!!
PS: si je change en if(isset($_POST['update'],$_POST['chemin']) j'ai une erreur:Parse error: syntax error, unexpected '{' in /homepages/24/d284401489/htdocs/admin/pages2.php on line 126
La ligne 126 est : if(isset($_POST['update'],$_POST['chemin']){ -
C'est donc qu'il y a 2 instruction contraire :
Disons que $fichier = "../index.php" ----------------------------------------- PAGES2.PHP: ----------------------------------------- <?php $fichier = $_POST['chemin']
La 1ère dit que $fichier='../index.php', la 2ème dit que c'est égale à $_POST['chemin']. Supprime l'une des deux ! -
En fait quand j'ai dit disons que $fichier="../index.php" c'est parce que j'ai un formulaire avant qui me demande le chemin vers le fichier. Et je dit que dedans j'ai inséré ../index.php donc la valeur $fichier est égale à ../index.php
Merci d'avance -
Et alors essaye de mettre au début de cette page l'instruction $fichier="../index.php" à la place de $_POST['chemin'] (juste pour tester). Ca donne quoi ?
-
-
Mais je voudrais pouvoir specifier avant le fichier que je veux modifier =(
-
On avance ;-)
Test numéro 2 : met ça au début du code (en re-modifiant le test 1, biensur) :
echo ('"'. $_POST['chemin'] .'"');
En haut de ta page (quand tu la visualise) il doit y avoir des guillemets. Il y a-t-il un texte dedan :-p ?
C'est juste pour vérifier que $_POST['chemin'] possède bien une valeur -
-
Et fait pareil juste après $fichier = $_POST['chemin']; avec $fichier cette fois ?
-
-
Ou le vilain :-P
Essaye de mettre $fichier = $_POST['chemin']; juste APRES le if(isset($_POST['update'],$_POST['chemin'])){,
et/ou de mettre $open = fopen($_POST['chemin'],"w+"); -
J'avais déjà essayé de le mettre après le if(isset... mais sa ne fonctionnais pas, il ne m'ouvrait aucun fichier.
En mettant $_POST['chemin'] dans fopen sa ne change rien.
- 1
- 2
Suivant