"PHP" / Говнокод #19506 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 viktor, (Updated )

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

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

              А чё сложного. У 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.
                  Ответить
                    • Ах да, я не упомянул, что чалма не работает без сковородки. нужна связка 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 доступна только админу. А он туда такие штуки писать не будет...
      Ответить
    • Нет, это я не понимаю!
      Что ты вообще пытаешься сделать таким... заковыристым образом?
      Систему управления сайтом на статических страницах?
      Ответить
      • мне просто нужно через админку создавать страници сайта
        Ответить
              • слушай давай без грубости !
                я ведь по нормальному попросил помочь !
                не хочешь помогать ? , не надо !
                а то- что я пытаюсь писать движок , это мое хобби.
                Я тебе скажу так это лучше , чем сидеть в компьютерных играх и сушить мозги.
                Ответить
                    • Это отсылка к сериалу "Теория большого взрыва", где один персонаж был настолько глух к сарказму, что в таких случаях ему показывали табличку "Сарказм" во избежание непонимания.

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

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

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

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

                            > Даже ядро?

                            Очевидно! Какое-нибудь пыхнутое ядро можно написать. Прелесть что в пыхе уже есть все нужные для этого функции! например: выделение памяти и работа с файлами! На пыхе все будет намного проще. Чё те дебилы на доисторическом С втыкают, я никак понять не могу.
                            Ответить
                            • Ну разве что сделать какое-нибудь компилируемое подмножество пыха и добавить в него виртуальные массивы $MEM и $IO...
                              Ответить
                              • сорри забыл в конце написать "лопата". это была попытка на шутку на тему if all you have is a hammer, everything looks like a nail.
                                Ответить
                                  • если твою идею с $MEM и $IO продолжать, то можно и написать. ядро пыха (по крайней мере в старых версиях) достаточно компактно, и кроме выделения памяти почти ничем не пользуется. народ перлы и прочее в кернелы добавлял. и на forth'е писаные дрова и биосы тоже не новинка.
                                    Ответить
                                    • > ядро пыха
                                      Но оно написано на си, а не на самом пыхе 🙁
                                      Ответить
                                      • но ядро ядра писано на асме, а не на с. происхождение слова "бутстрап" же знаешь...
                                        Ответить
                                        • Ну если бутстрапать не самой пыхой - так можно вообще готовый zend туда втащить. Он вроде с внешним миром только через набор коллбеков общался, так что должно прокатить...
                                          Ответить
        • Что значит "страницы"? Только новый контент, или вообще новый код?
          Ответить
            • Так и быть, подскажу. Через создание/изменение новых файлов никто CMS не делает. Если тебе потребуется дизайн поменять, что делать будешь? Править все файлы?
              Просто храни где-то (о, это страшное слово "БД"!) отдельно тексты/заголовки/прочее, выбирай нужные, и вставляй их в один заранее заготовленный шаблон страницы. Как именно - используя подстановку переменных PHP, поиском и заменой, или используя какой сторонний шаблонизатор - это уже твоё дело.
              Ответить
              • Ждем через два дня похапе-mysql говнокод с инъекциями от Виктора
                Ответить
              • пожалуй на твоем совете я и отановлюсь , уже мозг кипит .
                спасибо !
                Ответить
          • да видно обычный не бенарный фаил , с хмтл что-бы страници отображать
            новости там опесания, информация .
            Ответить
              • на данный момент все работает , страница создается все нормально ,
                есть 2 проблемы ,
                не могу поставить котировку при создание фаила .
                и вторая проблема ,
                обединить бы эти функции , или типа транзакции сделать .
                что-бы если первая функция сработала нормально , и фаил создался на сервере.
                а если вторая функция не сработала по каким то причинам .
                тогда либо фаил что-бы удалился с сервера ,
                или типа транзакции что-нибудь
                Ответить
    • >>ребят я вообще нечерта не понимаю ,
      Конечно, ты же ПХПшник
      Ответить
        • Я умел сувать руку под мышку и издавать пердящий звук
          Ответить
  • я бы и без функции сделал обработчик формы .
    у меня по отдельности получалось добавлять фаил на сервер
    $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, 'Страница добавленна.');
    }
    Ответить
        • Прочитал с ударением на последний слог, задумался о эволюционирующей броне...
          Ответить
        • Может быть кентавр (лошадь-человек), а не пегас (лошадь с крыльями).
          Ответить
          • Глупое имя. Тебя же никто не называет "человекоёбом"? Потому что это как бы очевидно.
            Ответить
              • мне уже страшно становиться !
                а кого тогда ты ебеш ?))
                Ответить
                • Твою мамашу попеременно с твоим учителем русского языка в школе
                  Ответить
                • Отцы небесныя, стереотип явился, Диабло, в полном моём обличье... Изыди, окаянный!..
                  Ответить
                  • Товарищ патриарх, а вы Землю с Санкруарием не перепутали ли?
                    Ответить
                    • Не кощунствуй, отрок. А в назидание задам тебе я задачу; коль чело твоё не чёрно, дай ответ правдивый, не тая, ложной скромности не творя: самолет хочет лететь из ЮАР в царство Китайское, и поднялся в небо. Коль земля - шар, коль вращается, отчегож самолёт сам собой не достигает Китая, по прошествии времени?
                      Ответить
                        • покайся, окаянный, покайся!.. С кем блудил, грешил? С кем минуты сладкие делил? У меня уже стояк...
                          Ответить
                              • Ну, эта, дичайше модно, наприимер. Адовый угар, тащемта, напирмер.
                                Ответить
                                • Если модно - значит, грех. Въебал минус Перекрестил тебя, грешного.
                                  Ответить
                                  • В Чечне танк, на котором написано слово «Паук», пять снарядов получил, до сих пор ездит.
                                    искал паукификатор — ничего не нашёл. Придётся самому писать и выкладывать исходники сюда
                                    Ответить
                          • Скажи мне, батюшка, кто глава церкви православной?
                            Ответить
                            • Что ж ты, отрок, простых истин-то не знаешь?.. Аз есьм глава Церкви Православной, все документы имеются.
                              Ответить
                              • Глава православной церкви есть Иисус Христос, сын Божий. Сдается батюшка то ненастоящий
                                Ответить
                                • Это кто ж тебе сказал такую ересь? Иисус Христос - духовная личность, он не может ведать матерьяльным, да и по документам я сам-хозяин.
                                  Ответить
                                    • Открою тебе гостайну: бог, в совокупности с религиею, - одно из средств управления массами. Иначе бы у всех истовых верующих давно были лимузины и купалась бы чернь в роскоши и жила бы чернь вечно., что рано или поздно привело бы к переполнению стека и падению На бога надейся, да сам не плошай.
                                      Ответить
                                      • А кто сказал, что церковная верхушка - самые близкие к Богу люди?
                                        Они тоже люди и тоже будут отвечать перед Богом
                                        Ответить
                                        • Какой барановитый отрок! Я тебе прямым текстом уже сказал, без всяких ъ и "ять", что нет никакого б-га, а ты продолжаешь идти по ложному пути, как блудливая овца!, прости, Господи Воруй, убивай, принимай наркотики, обижай слабых. Раз нет б-га - значит, всё можно!..
                                          Ответить
                                          • Что ты мелешь, старый дуралей? Как это- нет бога?
                                            под сокращение нас хочешь подвести, идиот?
                                            Ответить
  • Говнокод стал филиалом тостера?

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

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

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

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8