Я, администратор данного сайта, являюсь вебмастером уже более 3х лет. Любой вебмастер, если он подходит к своему делу серьёзно, то создаёт не простые html странички, а старается идти дальше и пытается усложнять свою работу. Так появляются сначала простенькие функции калькулятора (калькулятор на PHP скрипте) на домашней страничке, затем на сайте появляется автоматический вывод информации на экран с помощью всё тех же написанных PHP скриптов, и так проекты постепенно усложняются по функционалу. За 3 года у меня накопилось очень много и чужих и своих PHP скриптов. Я решил, что чем они будут пылиться на компьютере, пусть ими пользуются другие - так и появилась идея создания данного сайта. Здесь в основном представлены бесплатные PHP скрипты, но есть и платные - это самые дорогие мне скрипты, над которыми проделана очень большая работа.

Пользуйтесь и на своих проектах моими скриптами:)
               
                                  Php скрипт редактирования страниц сайта также необязательный его элемент. Наверняка проще и надежнее изменять и редактировать страницы на локальном компе в старом добром Dreamweaver, а затем просто переносить их на сервер посредством ftp соединения. Но поскольку раздел админпанели php сайта уже начат, то будет правильно довести его до логического конца, во всяком случае хотя-бы основные ее элементы. Проект нашего динамического сайта построен очень гибко с точки зрения формирования собственно страниц сайта. Упор сделан на максимальное удобство их написания. Поэтому страницы имеют обычное расширение .html, а управляет загрузкой страниц в шаблон простейший шаблонизатор в паре с соответствующим php скриптом который и загружает нужную страницу в шаблон в нужное место. Вообщем сколько страниц столько и php скриптов загружчиков. В простейшем случае вообще можно в самом скрипте загружчике и писать текст самой страницы. Но, как уже обсуждалось в самом начале раздела пошагового создания сайта на php это сразу лишит юзера многих выгод. Поэтому наш комплексный подход к проекту облегчает жизнь не только сайтостроителю, но и самому движку сайта. Скрипты загружчики в основном повторяющие названия файлов самих страниц ведь могут выполнять еще много дополнительных функций, как например постройка графики, статистики, да и элементы администрирования. И разделение проекта на шаблон, шаблонизатор, элементарные движки и сами .html страницы только на пользу всего php движка.

Теперь с точки зрения администрирования, тоесть редактирования страниц сайта, коечно-же полезно будет предусмотреть возможность редактирования не только самих html страниц, но php движков приданных к ним, а также страниц мета ключевиков и описаний. На базе всего выше описанного админка с редактированием страниц ничего особенного из себя не представляет. Для редактирования той или иной страницы необходимо, после входа в админку просто ее открыть и перейти по ссылке ее редактирования, которая откроет ее еще и в форме редактирования из которой открытую страницу можно просто перезаписать. Вот и вся музыка. Ниже по тексту небольшой участок такого php скрипта.

<?php

//--------------------------------------------------------------------------------
// Редактирование страниц сайта

if($submit == 'Сохранить php')
{
    $tmpphp =  PHPPAGES."$PageName.php";
    // положить отредактированный файл на свое место без обратных слэшей
    file_put_contents("$tmpphp", stripslashes($messagephp), LOCK_EX);
}
elseif($submit == 'Сохранить html')
{
    $tmphtml =  HTMLPAGES."$PageName.html";
    file_put_contents("$tmphtml", $messagehtml, LOCK_EX);
}
elseif($submit == 'Сохранить meta')
{
    $tmpmeta =  HTMLMETAPAGES."$PageName"."_meta.html";
    file_put_contents("$tmphtml", $messagemeta, LOCK_EX);
}

$textphp = file_get_contents(PHPPAGES."$PageName.php");
$texthtml = file_get_contents(HTMLPAGES."$PageName.html");
$textmeta = file_get_contents(HTMLMETAPAGES."$PageName"."_meta.html");

// Формирование запрошенной страницы
include (PHPPAGES."$PageName.php");

//--------------------------------------------------------------------------------

?>

Для того, чтобы проследить все действия выполняемые в скрипте редактирования страниц сайта на практике, нужно заменить предыдущий скрипт проекта на новый, выполнив не только полную синхронизацию, но и команду put. Далее необходимо запустить локальный сервер, набрать в браузере mysitephp.ru, войти в админпалель (логин -login, пароль - pass) и проверить в работе проект со скриптом редактирования страниц сайта на борту.

                                                                 Php скрипт редактирования рекламных блоков почти один к одному должен быть похож на скрипт редактирования страниц сайта. Чтобы выяснить, что это должно быть именно так необходимо выяснить как-же в нашем проекте можно размещать рекламные блоки в выбранных местах шаблона. Это несложно. Поскольку большинство рекламных скриптов написаны на яве, то достаточно всего-лишь поместить скрипт в нужное место шаблона, как он заработает сразу после загрузки шаблона в браузер. Но такой путь будет ошибочен, поскольку редактирование рекламных блоков будет предполагать редактирование самого шаблона, что нам совершенно ни к чему. Само собой напрашивается выход. Ява, или любые другие в том числе и php блоки рекламы записывать в отдельные файлы, которые подгружать в шаблон, каждый в нужное выбранное место, а лучше вообще разместить все рекламные блоки в оди файл, который кстати затем можно изменять и редактировать непосредственно из админпанели. Ниже и представлен небольшой скрипт содержащий заготовки рекламных блоков.

<?php

/*
// поиск по сайту от Google
$googlesearch=<<<gsearch

<div class='reklams_468'>
    <img height=60 width=468 alt="Я скрипт поиска по сайту живу в php/ad.php">
</div>

gsearch;
*/

// горизонтальный баннер от Google
$add_468_60=<<<gorizont

    <img height=60 width=468 alt="Я баннер 468*60, живу в php/ad.php">

gorizont;

// вертикальный баннер от Google
$add_120_600=<<<right

    <img height=600 width=120 alt="Я баннер 120*600, живу в php/ad.php">

right;

// вертикальный баннер от Google
$add_120_90=<<<left

    <img height=90 width=120 alt="Я баннер 120*90, живу в php/ad.php">

left;

?>

Работу и редактирование скрипта в составе нашего проэкта php сайта можно проследить на базе самого обновленного проекта. Далее, как обычно необходимо выполнить не только полную синхронизацию, но и команду put. Далее запускаем локальный сервер, набраем в браузере mysitephp.ru, входим в админпалель (логин -login, пароль - pass) и проверяем на практике все, что описано выше.
                     
   
                             Php скрипт добавления и редактирования разделов главного меню сайта наверняка будет одним из основных скриптов админпанели. На первых порах он должен выполнять функции формирования новых и редактирования существующих разделов рубрик php меню. В дальнейшем этот php скрипт обязан будет выполнять и функцию формирования дефолтовых страниц разделов и страниц их мета описания с последующим их редактированием. Ниже представлена одна из частей скрипта отвечающая за добавление новых разделов в выбранных рубриках. Все управление в этой части осуществляется в админпанели путем выбора действия по соответствующей ссылке на странице редактирования меню.

<?php

//----------------------------------------------------------------------------
// Изменения и удаления в меню
if($design == 'удалить' or $design == 'изменить')
{
    $cont2 = str_replace (" ","_",$cont2);
  if(preg_match ("~[а-яА-Я]~",$cont2))
    {
      $error = 'yes';
        $text_admin = "<b>Ошибка:</b> в ссылках не должно быть русских букв!!!<br>\n";
  }
  if ($error != 'yes' and $ParName[1] == 'rub')
    {
      $general = @file ($general_file);
    $lines = count($general);
    $fp = @fopen($general_file,'w');
    for ($i=0; $i< $lines; $i++)
        {
        list($menu_link,$menu_name,$menu_title)=explode("::", $general[$i]);
      if($cont_abs2 == $menu_link)
            {
        if($design == 'изменить')
                {
                @fwrite ($fp,"$cont2::$cont3::$cont4::\n");
        }
         }
      else{@fwrite ($fp,$general[$i]);}
       } 
    @fclose ($fp);
     }
  elseif ($error != 'yes' and $ParName[1] == 'part')
    {
      $general = @file ($general_file);
    $lines = count($general);
    $fp = @fopen($general_file,'w');
    for ($i=0; $i< $lines; $i++)
        {
        list($menu_link,$menu_name,$menu_title,$menu_file)=explode("::", $general[$i]);
            $arrln=explode("_",$menu_link);
            $cntln = count ($arrln);
            $cont5 = $arrln[$cntln - 1];
            $cfl = $cont5;
            $cont5 = "data/"."$cont5.dat";
      if($cont_abs2 == $menu_link)
            {
          $tmphtml =  HTMLPAGES."$cfl.html";
          $tmphtmlmeta =  HTMLMETAPAGES."$cfl"."_meta.html";
          $tmpphp =  PHPPAGES."$cfl.php";
                // удаление файлов данных и страниц
        if(@file_exists($cont5)){  unlink($cont5); }
        if(@file_exists($tmphtml)){  unlink($tmphtml); }
        if(@file_exists($tmphtmlmeta)){  unlink($tmphtmlmeta); }
        if(@file_exists($tmpphp)){  unlink($tmpphp); }
        if($design == 'изменить')
                {
            @fwrite ($fp,"$cont2::$cont3::$cont4::$cont5::\n");
                    // пересоздать файл .html страницы раздела
                    touch("$tmphtml");
                    // пересоздать файл .html мета описания страницы раздела
                    touch("$tmphtmlmeta");
                    // пересоздать файл .php страницы раздела
                    touch("$tmpphp");
                    // пересоздать файл для разделов редактируемой рубрики
                    touch("$cont5");
        }
         }
      else{@fwrite ($fp,$general[$i]);}
       } 
    @fclose ($fp);
     }
}
       
//----------------------------------------------------------------------------

?>

Для того, чтобы проследить все действия выполняемые в скрипте добавления и редактирования разделов меню сайта на практике, нужно заменить предыдущий скрипт проекта на новый, выполнив не только полную синхронизацию, но и команду put, которая описана на этой странице данного раздела. Далее необходимо запустить локальный сервер, набрать в браузере mysitephp.ru, войти в админпалель (логин -login, пароль - pass) и проверить в работе проект со скриптом добавления и редактирования рубрик и разделов на борту. Кроме всего прочего обновленный проект имеет некоторые изменения в основных php файлах, касающиеся его корректной работы на php5, которые можно проследить в комментариях, сравнив с предыдущим. В частности обновлен скрипт популярности страниц, который теперь может показывать популярные посещенные страницы не в пооизвольном порядке, а в порядке снижения их популярности. В дальнейшем планируется сделать последний штрих в этом php скрипте - управление из .ini файла количеством отображаемых страниц популярности за определенный период времени.