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
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
A voir également:
- Editeur de fichier html & PHP
- Editeur de registre - Guide
- Fichier bin - Guide
- Editeur html - Télécharger - HTML
- Fichier epub - Guide
- Fichier rar - Guide
29 réponses
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Re-salut ! Désolé pour mon absence :D.
Bon, sais vraiment pas pourquoi ce ne fonctionne pas, ce code est nickel...
Cela te dérangerais si tu pouvais m'envoyer ton code entier pour voir si ça marche chez moi et changer au cas où ? C'est peut-être une autre partie de ta page qui fait que ça ne fonctionne pas... Peut-être...
Bon, sais vraiment pas pourquoi ce ne fonctionne pas, ce code est nickel...
Cela te dérangerais si tu pouvais m'envoyer ton code entier pour voir si ça marche chez moi et changer au cas où ? C'est peut-être une autre partie de ta page qui fait que ça ne fonctionne pas... Peut-être...
Re- bonjour pinouf !
Désolé pour cette longue absence (j'ai été beaucoup pris ces temps-ci).
Mais j'ai utiliser ton code chez moi pour voir si ça faisait la même chose et en effet, le code brut ne change pas le fichier. J'ai trouvé 2 erreurs qui, rectifiées, ont permis de modifier comme voulue le fichier :
- Dans la page 2, à la ligne 16, on a ça :
echo ("<form action=".$PHP_SELF." method='post'>");
Chez moi, le $PHP_SELF n'est pas définit, je suppose que c'est différent pour toi. Le problème, c'est les guillemets. Car une fois afficher en html, on peut lire <form action=/lefichieramodifier.html method='post'>. Il n'y a pas de guillemets qui définissent la valeur de action donc il comprend que action est = a tout ce qui est souligné ! Je te conseille donc de modifier la ligne PHP aisni :
echo ("<form action='".$PHP_SELF."' method='post'>");
ou même
echo ("<form action='' method='post'>");
- Toujours dans la page 2, c'est la valeur de $fichier, ou de $_POST['chemin']. Mise en situation : L'administrateur qui veut modifier une page entre sont adresse dans le champ de la page 1, puis valide. La valeur du champ $_POST['chemin'] est remplie et valide, puisque le formulaire de page1 viens d'être validé. L'administrateur fait les modifications nécessaires (je passe). Il valide le formulaire de la page 2 donc, et c'est là que ça coince : il n'y a aucun champ nommé "chemin" dans le formulaire qui vient de lui être envoyé (celui de la page 2). La valeur de $_POST['chemin'] est donc nulle !!!, se basant sur cette valeur, PHP ne peut modifier aucun fichier. Pour parer ce problème, on va rajouter dans le formulaire de la page 2 un champ qui contient la valeur de $_POST['chemin'] transmise par le formulaire de la page 1. Rajoute donc une ligne php dans la page 2, en dessous de la ligne 16 :
echo ("<input type='hidden' name='chemin' value='". $fichier ."'>");
Chez moi, c'est modifié !
En espérant avoir été assez clair ! @+
Désolé pour cette longue absence (j'ai été beaucoup pris ces temps-ci).
Mais j'ai utiliser ton code chez moi pour voir si ça faisait la même chose et en effet, le code brut ne change pas le fichier. J'ai trouvé 2 erreurs qui, rectifiées, ont permis de modifier comme voulue le fichier :
- Dans la page 2, à la ligne 16, on a ça :
echo ("<form action=".$PHP_SELF." method='post'>");
Chez moi, le $PHP_SELF n'est pas définit, je suppose que c'est différent pour toi. Le problème, c'est les guillemets. Car une fois afficher en html, on peut lire <form action=/lefichieramodifier.html method='post'>. Il n'y a pas de guillemets qui définissent la valeur de action donc il comprend que action est = a tout ce qui est souligné ! Je te conseille donc de modifier la ligne PHP aisni :
echo ("<form action='".$PHP_SELF."' method='post'>");
ou même
echo ("<form action='' method='post'>");
- Toujours dans la page 2, c'est la valeur de $fichier, ou de $_POST['chemin']. Mise en situation : L'administrateur qui veut modifier une page entre sont adresse dans le champ de la page 1, puis valide. La valeur du champ $_POST['chemin'] est remplie et valide, puisque le formulaire de page1 viens d'être validé. L'administrateur fait les modifications nécessaires (je passe). Il valide le formulaire de la page 2 donc, et c'est là que ça coince : il n'y a aucun champ nommé "chemin" dans le formulaire qui vient de lui être envoyé (celui de la page 2). La valeur de $_POST['chemin'] est donc nulle !!!, se basant sur cette valeur, PHP ne peut modifier aucun fichier. Pour parer ce problème, on va rajouter dans le formulaire de la page 2 un champ qui contient la valeur de $_POST['chemin'] transmise par le formulaire de la page 1. Rajoute donc une ligne php dans la page 2, en dessous de la ligne 16 :
echo ("<input type='hidden' name='chemin' value='". $fichier ."'>");
Chez moi, c'est modifié !
En espérant avoir été assez clair ! @+