За последние 24 часа нас посетили 17379 программистов и 1713 роботов. Сейчас ищут 1492 программиста ...

Вот оцените - исходники моей админки

Тема в разделе "Вопросы от блондинок", создана пользователем Ruzzz, 17 фев 2008.

  1. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    Вот выложил
    http://rapidshare.com/files/92754023/RuzzzPHPPagesAdmin.rar.html
    http://ifolder.ru/5398964
    http://webfile.ru/1750130

    Это мои начинания в PHP :) Возможно также поможет кому-то из новичков. (Я правда сам новичок!)
    Попробывал реализовать небольшую админ панель по управлению статическими страничками на сайте. Есть sql-файл пример для заполнения таблицы. Затронул разные важные для новичка темы работы с БД :) Удаление/добавление/изменение информации в БД. Проверка переданных параметров. Работа с формой. Что-то типа шаблонов. Код как смог прокомментировал.

    Осталось добавить аудентификацию админа по паролю. Ну и категории добавить. Далее думаю в главной index.php выводить список этих страничек или использовать их name в шаблоне. Потом изучить ЧПУ и использовать name для "перехвата" главным index.php. Далее можна и с категориями тоже самое. Ну это все в планах. :)

    Это мой первый кодинг в PHP. Подскажите - может какие ошибки есть! Заранее спасибо!

    использую php_mbstring для работы с UTF8-строками
     
  2. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    Мало кто может качать с рапиды. Перезалей.
     
  3. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    Добавил ссылки. Если не трудно покритикуйте код позжлста.
     
  4. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    Я так понимаю предлагать посмотреть исходные коды того что написал и просить прокоментировать нельзя на этом форуме?
     
  5. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    Ruzzz
    можно
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Fatal error: Call to undefined function mb_internal_encoding() in D:\host\ruzz\config.php on line 4
     
  7. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    Hight
    Только в разделе помойка, как я понял? И кто ж сюда заглянет? :(
    [vs]
    Да забыл написать, использую php_mbstring для работы с UTF8-строками
     
  8. Hight

    Hight Старожил
    Команда форума Модератор

    С нами с:
    5 мар 2006
    Сообщения:
    7.153
    Симпатии:
    0
    Адрес:
    из злой параллельной вселенной
    В блондинках ещё можно. Перенести?
     
  9. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    Да!!! :) Там лучше! Спасибо!
     
  10. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Ну а так по стилю - я обычно пишу с минимумом кода.
    Например вот этот кусок из func.php:
    PHP:
    1.  
    2. <?
    3. echo '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">';
    4.         echo '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">';
    5.         echo '<head>';
    6.         echo '<title>'.$title.'</title>';
    7.         echo '<link href="main.css" rel="stylesheet" type="text/css" /></head><body>';
    8.         echo '<div class="header">';
    9.         echo '<a href="index.php">РќР° главную</a>';
    10.         if ($refresh) {
    11.             echo ' <span class="note">(автоматически через 3 сек.)</span>';
    12.         }
    13.         echo ' | <a href="page-add.php">Добавить РЅРѕРІСѓСЋ</a>';
    14.         echo ' | <a href="autoincrementreset.php">AUTO_INC Reset</a>';
    15.         echo '</div>';
    16.         echo $body;
    17.         echo '</body>';
    18.         echo '</html>';
    19.  
    Я бы оформил так:
    PHP:
    1.  
    2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    3.         <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
    4.         <head>
    5.         <title>.<?=$title?>.</title>
    6.         <link href="main.css" rel="stylesheet" type="text/css" /></head><body>
    7.         <div class="header">
    8.         <a href="index.php">РќР° главную</a>
    9.         <?if ($refresh) {?>
    10.              <span class="note">(автоматически через 3 сек.)</span>
    11.         <?}?>
    12.          | <a href="page-add.php">Добавить РЅРѕРІСѓСЋ</a>
    13.          | <a href="autoincrementreset.php">AUTO_INC Reset</a>
    14.         </div>
    15.         <?=$body?>
    16.         </body>
    17.         </html>
    Конечно, это дело вкуса ;)
     
  11. +Sten+

    +Sten+ Активный пользователь

    С нами с:
    27 авг 2007
    Сообщения:
    978
    Симпатии:
    0
    PHP:
    1.  
    2. function TagTD($str) {
    3.  return '<td>'.$str.'</td>';
    4. }
    PHP:
    1.  
    2. $body .= TagTD($row['ID']);
    3. $body .= TagTD(PrepareStringForTable($row['name']));
    4. $body .= TagTD(PrepareStringForTable($row['keywords']));
    5. $body .= TagTD(PrepareStringForTable($row['description']));
    6. $body .= TagTD(PrepareStringForTable($row['title']));
    7. $body .= TagTD(PrepareStringForTable($row['caption']));
    8. $body .= TagTD($row['date']);
    9. $body .= TagTD($row['date_gmt']);
    10.  
    Бред имхо. Шаблонизатор сделай, или просто выводи "как есть" без всяких функция.
     
  12. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    [vs]
    Да я все раздумываю как это все дело оформлять :) Еще не определился. А то что в перемешку идет и html и php как-то смущает меня :) ну это со временем определюсь

    У меня вот проблема была, с отсутствием try ecxept :) ну вроде бы как все уложилось в голове, как именно код писать.
    Еще интересно ваше мнение по поводу page-delete.php - я там намутил наверное? :)
     
  13. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    +Sten+
    Понял. Наверное из-за того что лишняя нагрузка на PHP?
    Я просто $body .= TagTD(); с помощью ctrl-v навставлял, а потом писал :)
     
  14. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    PHP:
    1.  
    2. <?
    3. case 'no':
    4.                     $pages = $_POST['pages'];
    5.                     $pages_str = '';
    6.                     $pages_for_form = '';
    7.                     for ($i = 0; $i < count($pages); $i++) {
    8.                         $pages[$i] = (int)$pages[$i];
    9.                         if ($pages_str != '') {
    10.                             $pages_str .= ', ';
    11.                         }
    12.  
    Че-то до меня не доходит - зачем проверять if ($pages_str != '') после присвоения $pages_str = '';, оно же по-любому будет равно '' :)
     
  15. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    После первой же итерации цикла ситуация изменится :)
    Если у меня не одно число, то перед добавлением следущего я добавлю ", " (запятую и пробел)
     
  16. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    И правда, не заметил =)
    Тогда можно код
    PHP:
    1.  
    2. <?
    3. $pages = $_POST['pages'];
    4.                     $pages_str = '';
    5.                     $pages_for_form = '';
    6.                     for ($i = 0; $i < count($pages); $i++) {
    7.                         $pages[$i] = (int)$pages[$i];
    8.                         if ($pages_str != '') {
    9.                             $pages_str .= ', ';
    10.                         }
    11.                         $pages_str .= $pages[$i];
    12.                         $pages_for_form .= '<input type="hidden" name="pages[]" value="'.$pages[$i].'" />';
    13.                     };
    14.  
    Написать более кратко:
    PHP:
    1.  
    2. <?
    3. $pages = $_POST['pages'];
    4. foreach ($pages as $num=>$page)
    5. {
    6.     $pages_str.=(int)$page;
    7.     isset($pages[$num+1])?$$pages_str.=', ':null;
    8.     $pages_for_form .= '<input type="hidden" name="pages[]" value="'.$page.'" />';
    9. }
    10.  
    P.S. Строка isset($pages[$num+1])?$$pages_str.=', ':null; нужна дабы не ставить ', ' после последнего эллемента массива... я что-то так и не понял, замем оно нужно после него :)
     
  17. Anonymous

    Anonymous Guest

    PHP:
    1. <? $pages = implode(', ',$pages);
     
  18. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    [vs]

    я бы посоветовал обратиться хоть каким-нить шаблонам. а читать кашу html|php нет никакого желния.

    <title>.<?=$title?>.</title>

    жесть!
     
  19. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Горбунов Олег
    +1, замучаисся фсе фунхции запаминять =)
     
  20. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    440Hz
    Понял спасибо! Буду работать и в этом направлении. Кстати читал и ваши сообщения по этому поводу. Просто еще не "дотянул" до шаблонов, да и подумал "нагрузка" меньше будет на PHP. Но все равно этот вопрос я еще изучу детально!
     
  21. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    уже пора...

    поверь мне. года 3 даже не думай про это. просто НЕ думай.

    а лет через 5 оно и не потребуется вовсе.
     
  22. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Я всегда для формирования страниц с полезным содержимым использую шаблоны! Но на страницах с сервистными сообщенями а-ля "Действия успешно выполнены" IMHO обработка шаблона - лишняя трата ресурсов ;)
     
  23. Anonymous

    Anonymous Guest

    Шаблоны - это в первую очередь отделение кода от отображения. А не какая то очередная хитроумная технология.
     
  24. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    Горбунов Олег
    Спасибо за implode! :)
    [vs]
    Чесна не пойму о чем это! Ну да не важно, теперь я заню о implode :)
     
  25. Ruzzz

    Ruzzz Активный пользователь

    С нами с:
    11 фев 2008
    Сообщения:
    148
    Симпатии:
    1
    Понял, насчет шаблонов спасибо за совет!
    [vs]
    Ну я вообще-то тоже так думаю, но решил все же красиво все сделать

    Люди скажите насчет page-delete.php, позжлста!