PHP Editer site en ligne

Deli -  
 deli -
Bonjour,

Bon voilà, je débute en php et la je suis entrain de mettre en place un zone d'administration pour un petit site perso.

Alors j'ai crée un formulaire qui appel les différentes pages de mon site "php" via des include dans une <textarea> (zone de texte).

Je suis donc en mesure d'éditer ma page comme en local Mais se que je n'arrive pas à faire c'est que lorsque je clique sur mon bouton envoyer, cela supprime la page existante pour la remplacer par celle édité via mon formulaire.

Chaque page à bien sure son formulaire propre mais sur quoi je dois envoyer ? quel est le type de traitement pour se genre d'application ??

Merci d'avance pour votre aide ;)
Configuration: Windows 7
Firefox 3.5.7

2 réponses

  1. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Tu ne dois pas supprimer puis réécrire.
    Utilise la fonction file_put_contents si ton hébergeur la supporte.
    Comme ceci :
    file_put_contents('page.php', $_POST['textarea']);
    0
  2. Deli
     
    ... peux tu détailler un peu... je suis un peu perdu lol

    sur ma page d'administration, j'ai ce code qui appelle la page voulue dans une zone de texte :

    if (isset($_GET['chevetogne'])){
    echo '<from method="get" action="">
    <textarea name="code" cols="97" rows="30">';
    include '../page/chevetogne.php';
    echo '</textarea>
    <input type="button" value="Envoyer" name="envoyer"/>
    </form>';

    ta function, c'est pour la page de validation (action ="") ou ??
    0
    1. deli
       
      Bon après pas mal de recherche... J'ai trouvé ! oUf ;)

      Bon pour si jamais... voici ce que je recherchais :

      //Si on appel page chevetogne
      if (isset($_GET['chevetogne'])){
      //Affiche formulaire
      echo '<form action="" method="post">
      <textarea name="requete">';
      //Affiche dans formulaire page chevetogne
      echo file_get_contents('../page/chevetogne.php');
      echo '</textarea>
      <input type="submit" value="Save"/>
      </form>';
      //Si requete textarea
      if (isset($_POST['requete'])) {
      //Modifier page avec requette
      file_put_contents('../page/chevetogne.php',$_POST['requete']);
      //Rafraichi la page
      echo '<meta http-equiv="refresh" content="0;URL=admin.php?chevetogne"> ';
      }
      }

      Et voila :) Sans doute pas la meilleur manière mais j'arrive à mes fins !
      0