1. PHP / Говнокод #19506

    −17

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    <?php
    
    	/**
    	* Создаем новый файл.
    	**/
    	function zapisW() {	
    	$server = $_SERVER['DOCUMENT_ROOT'];
    	$Put = '/page/'.$_POST['title'].'.php'; //путь и сам файл
    	$PagesW = fopen($server . $Put, "w"); // ("r" - считывать "w" - создавать "a" - добовлять к тексту)
    	if (!$PagesW) MessageSend(1, 'Проверте переменную ($PagesW), в файле (module/admin/query.php) function (zapisW). Файл не создался!.', '/admin/peges');
    	fclose($PagesW);
    	}
    	
        /**
    	* Записываем значение в новый файл.
    	**/
    	function DobavitA() {
    	$servera = $_SERVER['DOCUMENT_ROOT'];
    	$i = "$";
    	$text = "".PHP_EOL."else if (".$i."Page == '".$_POST['title']."') include('page/".$_POST['title'].".php');";
    	$PutA = '/system/include/User_Pages.php'; //путь и сам файл
    	$PagesA = fopen($servera . $PutA, "a"); // ("r" - считывать "w" - создавать "a" - добовлять к тексту)
    	fwrite($PagesA, $text);
    	fclose($PagesA);
    	}
    	
    
    
        /**
    	* Обработчик формы, создать новую страницу.
    	**/
    	
    	
    	if ($_POST['enter_peges']) {
        zapisW();
    	$PutAu = 'page/'.$_POST['title'].'.php';
    	if (!file_exists(''.$PutAu.'')) MessageSend(1, 'Файл не добавлен!', '/admin/peges');
    
    
        DobavitA();
    
    
    	MessageSend(3, 'Страница добавленна.');
    
    	} 
    
    	
    ?>

    не судите строго,
    столкнулся с такой проблемой .
    есть 2 функции zapisW() и DobavitA()
    функция zapisW() она добавляет фаил на сервер ,
    функция DobavitA() она добавляет определенный текст в другой фаил.
    затем идет обработчик формы method="POST".
    Суть моей проблемы заключается в том что я хочу сделать что-бы в обработчики формы написать проверку ,
    сперва проверить функцию на добавления фаила , если все нормально то делаем проверку второй функции на запись в фаил.
    только после этих проверок можно создать фаил , и записать в другой фаил .
    функция MessageSend(3, 'Страница добавленна.', '/admin/peges'); она показывает сообщения и делает редиректы.

    Запостил: viktor, 21 Февраля 2016

    Комментарии (125) RSS

    • Что-бы не получилось так что первая функция прошла проверку , и создался фаил на сервере .
      а вторая функция не сработала , и получается скрипт на половину не сделал свою работу
      Ответить
    • > zapisW
      > DobavitA
      Юникод/ANSI-версии
      Ответить
      • ?
        Ответить
        • Ты видно никогда WinAPI не пользовал
          Ответить
          • первый раз слышу .
            поможешь обяснить , как правельно применить в данной ситуации
            Ответить
            • Как првельно приминить винапи к двнжку на пхп?
              Ответить
              • @Как првельно приминить винапи к двнжку на пхп?

                А чё сложного. У DeleteFile только один параметр.
                Ответить
                • он папку не может же
                  папку надо SHFileOperation, а у нее аргументом идет такая структура, что я про неё только в MSDN читал, а в проекте использоваться не решался

                  >>SHFileOperation
                  "PCZZTSTR essentially means just a simple C-style string of TCHAR s, which is terminated with two '\0' characters"

                  ааа
                  Ответить
                  • плейн си зиро зиро тэ стринг?
                    Ответить
                    • P -- поинтер
                      CZ -- сишная, нультерминированная
                      Z -- еще один нуль
                      TSTR -- строка

                      как-то так
                      хз
                      Ответить
                  • @папку надо SHFileOperation
                    Не надо извращаться. Есть RemoveDirectory.
                    Ответить
                    • >>Deletes an existing ********empty****** directory.

                      поцклаист, бля
                      Ответить
                      • Ах да, я не упомянул, что чалма не работает без сковородки. нужна связка FindFirstFile+FindNextFile.

                        Думал, что ты сам догадаешься.
                        Ответить
    • $text = "".PHP_EOL."else if (".$i."Page == '".$_POST['title']."') include('page/".$_POST['title'].".php');";


      '){} system('rm -rf / --no-preserve-root') //
      Ответить
      • Ну зачем так жестоко? Можно же просто поюзать это решето в своих грязных целях...

        P.S. Ну и, скорее всего, эта DobavitExW доступна только админу. А он туда такие штуки писать не будет...
        Ответить
      • 😂
        Ответить
    • ребят я вообще нечерта не понимаю ,
      Ответить
      • Нет, это я не понимаю!
        Что ты вообще пытаешься сделать таким... заковыристым образом?
        Систему управления сайтом на статических страницах?
        Ответить
        • мне просто нужно через админку создавать страници сайта
          Ответить
          • Поставь джумлу.
            Ответить
            • не другие движки меня не интересуют
              Ответить
              • Понапишут своих движков, а потом ябутъся в жопы
                Ответить
                • слушай давай без грубости !
                  я ведь по нормальному попросил помочь !
                  не хочешь помогать ? , не надо !
                  а то- что я пытаюсь писать движок , это мое хобби.
                  Я тебе скажу так это лучше , чем сидеть в компьютерных играх и сушить мозги.
                  Ответить
                  • [SARCASM]
                       ||
                    Ответить
                    • Что это значит?
                      Ответить
                      • Это отсылка к сериалу "Теория большого взрыва", где один персонаж был настолько глух к сарказму, что в таких случаях ему показывали табличку "Сарказм" во избежание непонимания.

                        Это я к тому, что ты принял комментарий юзера выше за чистую монету. А вообще, если ты не понял, то это не сайт взаимопомощи. Тут вообще-то собираются, чтобы посмеяться над феерически отвратным кодом. Так что, постить сюда свой код - это довольно самокритично.
                        Ответить
                        • Ну... Рано или поздно человек понимает, что говно пишут все (кроме Кнута) а смеяться над собой - очень хорошее умение.
                          Но в данном случае ОП признался что ябется в жжёпу в самом деле, кому нахер нужен еще один джумлапресс
                          Ответить
                          • Но Кнут пишет вместо кода божественные руны, прочитать которые глаза смертных неспособны. Поэтому и их можно посчитать говном.
                            Ответить
                      • vanished
                        Ответить
                      • vanished
                        Ответить
                    • vanished
                      Ответить
                  • Витя, вот ты пришел на этот уютный форум и просишь о помощи, но делаешь это без уважения и даже не называешь нас Богами Кода...
                    Ответить
                    • простите, если что-то не так .
                      просто это первый форум где я вообще что-то пишу).
                      восновном я только читаю .
                      а на ваш форум попал случайно .
                      смотрю все активно пишут отвечают . Оскорбляют )).
                      есть что почитать и т.д.
                      Короче , у вас супер !
                      и если я чтото не так делаю ? вы говорите , буду исправлятся)
                      Ответить
                      • Первое правило говнокода - никогда не говорить о говнокоде
                        Второе правило говнокода - никогда не говорить о говнокоде
                        Третье правило говнокода - гоатсе и багор священы
                        Четвертое правило говнокода - 3_14dar - пидар
                        Пятое правило говнокода - хуесосить можно все и вся, без исключений
                        Шестое правило говнокода - не разговаривай с гостями
                        Седьмое правило говнокода - каждый сам пишет себе юзерскрипты
                        Восьмое правило говнокода - Ideone. Юзай его
                        Девятое правило говнокода - админ как Ленин - всегда жив, но почти всегда лежит в мавзолее
                        Десятое правило говнокода - говнокод - это развлекательный сайт, а не школа молодых кулхакеров. Учись из тени

                        Сейчас дополнят, исправят
                        Ответить
                        • > Сейчас дополнят, исправят
                          Где правило "всем пофиг/всем лень"?
                          Я хотел сослаться на это правило и сказать, что ничего не дополнят и не исправят.
                          Ответить
                        • > Сейчас дополнят, исправят

                          Одиннадцатое правило говнокода: смотри одиннадцатое правило говнокода.

                          Тридцать четвертое правило говнокода: на пыхе можно написать все
                          Ответить
                          • > на пыхе можно написать все
                            Даже ядро?
                            Ответить
                            • > > на пыхе можно написать все

                              > Даже ядро?

                              Очевидно! Какое-нибудь пыхнутое ядро можно написать. Прелесть что в пыхе уже есть все нужные для этого функции! например: выделение памяти и работа с файлами! На пыхе все будет намного проще. Чё те дебилы на доисторическом С втыкают, я никак понять не могу.
                              Ответить
                              • Ну разве что сделать какое-нибудь компилируемое подмножество пыха и добавить в него виртуальные массивы $MEM и $IO...
                                Ответить
                                • сорри забыл в конце написать "лопата". это была попытка на шутку на тему if all you have is a hammer, everything looks like a nail.
                                  Ответить
                                  • А я чуть было не собрался писать ядро на пыхе ;)
                                    Ответить
                                    • если твою идею с $MEM и $IO продолжать, то можно и написать. ядро пыха (по крайней мере в старых версиях) достаточно компактно, и кроме выделения памяти почти ничем не пользуется. народ перлы и прочее в кернелы добавлял. и на forth'е писаные дрова и биосы тоже не новинка.
                                      Ответить
                                      • > ядро пыха
                                        Но оно написано на си, а не на самом пыхе :(
                                        Ответить
                                        • но ядро ядра писано на асме, а не на с. происхождение слова "бутстрап" же знаешь...
                                          Ответить
                                          • mov($eax, $ebx);
                                            shr($eax, 5);
                                            Ответить
                                          • Ну если бутстрапать не самой пыхой - так можно вообще готовый zend туда втащить. Он вроде с внешним миром только через набор коллбеков общался, так что должно прокатить...
                                            Ответить
                              • два слова: дел-фи
                                Ответить
                          • vanished
                            Ответить
                    • vanished
                      Ответить
                  • К сожалению сушить тебе нечего
                    Ответить
              • vanished
                Ответить
            • vanished
              Ответить
            • vanished
              Ответить
          • Что значит "страницы"? Только новый контент, или вообще новый код?
            Ответить
            • просто чистую страницу , вообще без кода
              Ответить
              • Так и быть, подскажу. Через создание/изменение новых файлов никто CMS не делает. Если тебе потребуется дизайн поменять, что делать будешь? Править все файлы?
                Просто храни где-то (о, это страшное слово "БД"!) отдельно тексты/заголовки/прочее, выбирай нужные, и вставляй их в один заранее заготовленный шаблон страницы. Как именно - используя подстановку переменных PHP, поиском и заменой, или используя какой сторонний шаблонизатор - это уже твоё дело.
                Ответить
                • Ждем через два дня похапе-mysql говнокод с инъекциями от Виктора
                  Ответить
                • пожалуй на твоем совете я и отановлюсь , уже мозг кипит .
                  спасибо !
                  Ответить
            • да видно обычный не бенарный фаил , с хмтл что-бы страници отображать
              новости там опесания, информация .
              Ответить
              • На кнопку нажал - сайт создал
                Ответить
                • на данный момент все работает , страница создается все нормально ,
                  есть 2 проблемы ,
                  не могу поставить котировку при создание фаила .
                  и вторая проблема ,
                  обединить бы эти функции , или типа транзакции сделать .
                  что-бы если первая функция сработала нормально , и фаил создался на сервере.
                  а если вторая функция не сработала по каким то причинам .
                  тогда либо фаил что-бы удалился с сервера ,
                  или типа транзакции что-нибудь
                  Ответить
              • Я джва года ждал такой движок.
                Ответить
      • >>ребят я вообще нечерта не понимаю ,
        Конечно, ты же ПХПшник
        Ответить
        • Да иди ты нахуй! Я бы посмотрел что ты умел в 8 классе
          Ответить
          • Я умел сувать руку под мышку и издавать пердящий звук
            Ответить
    • я так понимаю что у меня ошибка где то ?
      Ответить
    • я бы и без функции сделал обработчик формы .
      у меня по отдельности получалось добавлять фаил на сервер
      $PagesW = fopen($server . $Put, "w");
      а вот как сделать чтобы одновременно и добавился фаил и произошла запись в другой фаил с другой директорией , не получилось .
      работает или добавление фаила или запись в фаил
      Ответить
    • <?php

      /**
      * Создаем новый файл.
      **/
      function zapisW() {
      $server = $_SERVER['DOCUMENT_ROOT'];
      $Put = '/page/'.$_POST['title'].'.php'; //путь и сам файл
      $PagesW = fopen($server . $Put, "w"); // ("r" - считывать "w" - создавать "a" - добовлять к тексту)
      if (!$PagesW) MessageSend(1, 'Проверте переменную ($PagesW), в файле (module/admin/query.php) function (zapisW). Файл не создался!.', '/admin/peges');
      fclose($PagesW);
      }
      /**
      * Записываем значение в новый файл.
      **/
      function DobavitA() {
      $servera = $_SERVER['DOCUMENT_ROOT'];
      $i = "$";
      $text = "".PHP_EOL."else if (".$i."Page == '".$_POST['title']."') include('page/".$_POST['title'].".php');";
      $PutA = '/system/include/User_Pages.php'; //путь и сам файл
      $PagesA = fopen($servera . $PutA, "a"); // ("r" - считывать "w" - создавать "a" - добовлять к тексту)
      if (!$PagesA) MessageSend(1, 'Проверте переменную ($PagesW), в файле (/system/include/User_Pages.php) function (DobavitA). В файл небыло записи.', '/admin/peges');
      $fwrit = fwrite($PagesA, $text);
      if (!$fwrit) MessageSend(1, 'Проверте переменную ($fwrit), в файле (/system/include/User_Pages.php) function (DobavitA).', '/admin/peges');
      fclose($PagesA);
      }
      /**
      * Обработчик формы, создать новую страницу.
      **/
      if ($_POST['enter_peges']) {
      if (file_exists('page/'.$_POST['title'].'.php') == 1) MessageSend(1, 'Файл с таким названием уже существует! придумайте другое название.', '/admin/peges');

      zapisW();

      DobavitA();
      MessageSend(3, 'Страница добавленна.');
      }
      Ответить
      • такой же ты скучный...
        Ответить
      • >/admin/peges
        Админ-пегас?
        Ответить
        • Да. Это естественная эволюция брони.
          Ответить
          • Прочитал с ударением на последний слог, задумался о эволюционирующей броне...
            Ответить
          • Может быть кентавр (лошадь-человек), а не пегас (лошадь с крыльями).
            Ответить
            • кентавры с крыльями тоже бывают:

              https://www.google.com/search?q=centaur+with+wings&safe=off&tbm =isch

              брони вам это не шутка.
              Ответить
          • Пониебов
            Надо называть вещи своими именами
            Ответить
            • Глупое имя. Тебя же никто не называет "человекоёбом"? Потому что это как бы очевидно.
              Ответить
              • А я людей и не ебу
                Ответить
                • мне уже страшно становиться !
                  а кого тогда ты ебеш ?))
                  Ответить
                  • Твою мамашу попеременно с твоим учителем русского языка в школе
                    Ответить
                    • Его учителю русского языка надо страпон выдать, чтобы грамотность лучше вбивалась...
                      Ответить
                • Не желает ли юноша исповедоваться? Давненько я не рукоблудил...
                  Ответить
                  • Всмысле
                    Ответить
                  • Отцы небесныя, стереотип явился, Диабло, в полном моём обличье... Изыди, окаянный!..
                    Ответить
                    • Товарищ патриарх, а вы Землю с Санкруарием не перепутали ли?
                      Ответить
                      • Не кощунствуй, отрок. А в назидание задам тебе я задачу; коль чело твоё не чёрно, дай ответ правдивый, не тая, ложной скромности не творя: самолет хочет лететь из ЮАР в царство Китайское, и поднялся в небо. Коль земля - шар, коль вращается, отчегож самолёт сам собой не достигает Китая, по прошествии времени?
                        Ответить
                        • конечно, тута у нас трэшъ, угаръ и содомияъ.
                          Ответить
                          • покайся, окаянный, покайся!.. С кем блудил, грешил? С кем минуты сладкие делил? У меня уже стояк...
                            Ответить
                            • Тащемта, паук, напримерЪ.
                              Ответить
                              • Опиши в подробностях.
                                Ответить
                                • Ну, эта, дичайше модно, наприимер. Адовый угар, тащемта, напирмер.
                                  Ответить
                                  • Если модно - значит, грех. Въебал минус Перекрестил тебя, грешного.
                                    Ответить
                                    • В Чечне танк, на котором написано слово «Паук», пять снарядов получил, до сих пор ездит.
                                      искал паукификатор — ничего не нашёл. Придётся самому писать и выкладывать исходники сюда
                                      Ответить
                                      • А-а-а!.. Так ты, вестимо, контуженный, ибо невпопад пишешь.
                                        Ответить
                                        • Муссолини — каннибал!
                                          Операция на мозг!
                                          Сексуальный аппетит!
                                          Оккупация в аду!
                                          Ответить
                                          • Пошёл нахуй отсюда!.
                                            Ответить
                                            • Революция в аду!
                                              Мясорубка рубит мозг!
                                              Нанизать и окунуть
                                              в раскалённый героин
                                              Ответить
                        • На все воля Божья
                          Ответить
                          • Истину глаголешь, отрок!.. Меня умилил твой ответ... Иди же под моё благословение, полезай под рясу... Тебя там ждёт сюрприз.*

                            http://www.mk.ru/print/article/31414/
                            Ответить
                            • Скажи мне, батюшка, кто глава церкви православной?
                              Ответить
                              • Что ж ты, отрок, простых истин-то не знаешь?.. Аз есьм глава Церкви Православной, все документы имеются.
                                Ответить
                                • Глава православной церкви есть Иисус Христос, сын Божий. Сдается батюшка то ненастоящий
                                  Ответить
                                  • Это кто ж тебе сказал такую ересь? Иисус Христос - духовная личность, он не может ведать матерьяльным, да и по документам я сам-хозяин.
                                    Ответить
                                    • Он всем ведать может. Он же Бог
                                      Ответить
                                      • Открою тебе гостайну: бог, в совокупности с религиею, - одно из средств управления массами. Иначе бы у всех истовых верующих давно были лимузины и купалась бы чернь в роскоши и жила бы чернь вечно., что рано или поздно привело бы к переполнению стека и падению На бога надейся, да сам не плошай.
                                        Ответить
                                        • А кто сказал, что церковная верхушка - самые близкие к Богу люди?
                                          Они тоже люди и тоже будут отвечать перед Богом
                                          Ответить
                                          • Какой барановитый отрок! Я тебе прямым текстом уже сказал, без всяких ъ и "ять", что нет никакого б-га, а ты продолжаешь идти по ложному пути, как блудливая овца!, прости, Господи Воруй, убивай, принимай наркотики, обижай слабых. Раз нет б-га - значит, всё можно!..
                                            Ответить
                                            • Что ты мелешь, старый дуралей? Как это- нет бога?
                                              под сокращение нас хочешь подвести, идиот?
                                              Ответить
                        • Оттого, что атмосфера вращается вместе с Землей.
                          Ответить
    • Говнокод стал филиалом тостера?

      Где ошибка? В ДНК :p

      P.S. Впрочем у меня тоже там ошибка.
      Ответить
      • Привет, доксис модем

        Сканируешь спектр в поисках cmts?
        Ответить
    • Виктор не стоит вскрывать эту тему. Ты молодой, шутливый, тебе все легко. Это не то. Это не киберфорум и даже не архивы пхпру. Сюда лучше не лезть. Серьезно, ты будешь жалеть. Лучше закрой тему и забудь что тут писал. Я вполне понимаю что данным сообщением вызову дополнительный интерес, но хочу сразу предостеречь - стоп. Остальные просто не найдут.
      Ответить
    • Посты проповедника и патриарха изрядно повеселили.
      Ответить
      • Проповедник и патриарх - чьи-то мультиаккаунты, проверь.
        Ответить
        • Это его мультиаккаунты и есть xD
          Впрочем, как и твои
          Ответить
      • Особенно, этот комментарий:
        http://govnokod.ru/19506#comment313913
        Ответить

    Добавить комментарий