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

    +162

    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
    // the next few lines do the fiddling required to make sure the data 
    // looks right, whether it's viewed via the RSS feed or via the database
    $longpost=str_replace("<br />", "\n", $post);
    $shortpost=substr($post,0,600);
    $shortpost=str_replace("<br />", "\n", $shortpost);
    $pass=$_POST["pass"];
    if ($pass == $password) {
    	include "db.inc";
    	// this line actually inserts the data
    	mysql_query("INSERT INTO entries VALUES (NULL, '$title', '$post')");
    	$getid=mysql_query("SELECT id FROM entries WHERE title='$title'");
    	$myrow=mysql_fetch_array($getid);
    	$postid=$myrow["id"];
    	// from here on in, we're building the RSS feed.
    	$arrFp = file("rss/feed.xml");
    	$lines = count($arrFp);
    	$insertat = $lines-2;
    	for ($i=0; $i<$insertat; $i++) {
    		$rsstext=$rsstext.$arrFp[$i];
    	}
    	$rsstext=$rsstext."<item>\n";
    	$rsstext=$rsstext."<title>".stripslashes($title)."</title>\n";
    	$rsstext=$rsstext."<description>".stripslashes($shortpost);
    	if (strlen($shortpost)<strlen($longpost)) {
    		$rsstext=$rsstext."...";
    	}
    	$rsstext=$rsstext."</description>\n";
    	$rsstext=$rsstext."<link>$url/comment.php?post=$postid</link>\n";
    	$rsstext=$rsstext."</item>\n";
    	$rsstext=$rsstext."</channel>\n";
    	$rsstext=$rsstext."</rss>";
    	$fp=fopen("rss/feed.xml", "w");
    	fwrite( $fp, $rsstext );
    	fclose($fp);
    	echo "Post successfully submitted!";
    } else {
    	echo "You are not authorised to post to this server!";
    }

    Создаём RSS-ленту.

    Запостил: Yurik, 20 Ноября 2010

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

    • кроме прочих радостей, нравится WHERE title='$title', называется, прочитай Войну И Мир и узнай автора.
      кстати, откуда эта $title приползает? только не говорите что из глобалсов
      Ответить
      • Строчкой выше:
        $title=date("d/m/y"); // this line and the next generate a title which 
        // includes the date as a handy reference
        $title=$title." - ".$_POST["title"];
        $post=$_POST["post"];
        Ответить
      • Судя по всему, код инсертит NULL в автоинкремент-поле, а потом по части засунутых данных пытается найти ИДшник того, что засунули только что. Оригинальный подход, да.
        За скипнутый кусочек в описании порядка полей таблицы при инсерте
        'INSERT INTO table [(field0, field1, ...)] VALUES (val0, val1,...)'
        явно стоит убивать.
        Ответить
        • создателей стандарта скула, за квадратные скобочки?
          Ответить
    • знатное дерьмище)
      вот такое mvc в 2010м году, сынок)
      Ответить
      • Ну это был скрипт не 2010 года, хотя в интернете достаточно примеров создания RSS лент похожими способами, РНР5 вышел в 2004 году, можно хотя бы использовать SimpleXML.
        Ответить
        • даже если генерить XML вручную -- все равно не гоже делать это вперемешку с SQL запросами))
          Ответить
    • Он поднял глаза, и отец Дани увидел, что огромные зелёные глаза парня стали бездонными, и обычное выражение апатии и тоски сменилось на сотни золотистых искорок, которые изнутри освещали взгляд. "Правду говорят: глаза - зеркало души, и, судя по всему, я всё правильно сделал", - подумал отец Дани.
      Ответить

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