Webmaster общности: Predpriemach.com | SearchEngines.bg

    Опростена система за новини

    Сега ще се научим как да си направим олекотена система за новини. Урока е преведен специално за Web-tourist.

    1. Започваме със създаването на един празен документ с име news.php. Когато го качвате през ФТП клиента задайте пермишъна(CHMOD) на 777 иначе скрипта няма да работи.
    2. Продължаваме на татък като създаваме файла add.php
    <?php
    
    if (!isset($_POST['news'])) {
    
    ?>
    
    <h1>Add to the News Page</h1>
    <table>
    <FORM action="add.php" method="POST">
    <tr>
    <td align=right>Title:</td>
    <td><INPUT TYPE="TEXT" name="title"></td>
    </tr>
    <tr>
    <td align=right valign=top>News:</td>
    <td><TEXTAREA WRAP=VIRTUAL NAME="news" COLS=50 ROWS=15></TEXTAREA></td>
    </tr>
    <tr>
    <td></td>
    <td><INPUT TYPE="SUBMIT" name="submit" value="Submit"></td>
    </tr>
    </FORM>
    </table>
    
    <?php
    
    } else {
    
    $title = $_POST['title'];
    $news = $_POST['news'];
    
    $da = getdate();
    $date="$da[weekday] $da[mday] $da[month] $da[year]";
    $news = ("$title|$date|$news\n");
    
    $file = fopen("news.php", "r");
    $read = fread($file, filesize("news.php"));
    fclose($file);
    $newsfile = fopen("news.php", "w");
    $news=stripslashes($news);
    fwrite($newsfile, "$news$read");
    fclose ($newsfile);
    
    echo "News added";
    
    }
    
    ?>

    Този документ служи за постване на новите новини.

    1. Сега си правим един файл – delete.php който служи за триене на новини,ако искате да триете.
    <?php
    
    $posts = file("news.php");
    
    if (!isset($_GET['delete'])) {
    
    echo "<h1>Delete a News Post</h1>";
    
    $i = 0;
    while ($i <= count($posts)-1) {
    $tempnews = (explode('|', $posts[$i], 3));
    echo "<hr><p><b>$tempnews[0]</b> - $tempnews[1]</p><p>$tempnews[2]</p>";
    echo "<a href=\"delete.php?delete=$i\">Delete the above post</a></p>";
    $i++;
    }
    
    } else {
    
    $todelete = $_GET['delete'];
    
    $posts[$todelete]="";
    $finishedoutput = implode("", $posts);
    
    $blah = fopen("news.php", "w");
    fwrite($blah, "$finishedoutput");
    fclose ($blah);
    
    echo "<h1>News post removed</h1>";
    
    echo "$posts[$todelete]";
    echo "<p><a href=\"delete.php\">Click here to delete another</a></p>";
    
    }
    
    ?>

    Следва да си направим документа – allnews.php – той показва всички новини от news.php със специфично оформление.

    <?php
    
    echo "<h1>All News</h1>";
    
    $allnews = file("news.php");
    $i = 0;
    while ($i <= count($allnews)-1) {
    $tempnews = (explode('|', $allnews[$i], 3));
    echo "<hr><p><b>$tempnews[0]</b> - $tempnews[1]</p><p>$tempnews[2]</p>";
    $i++;
    }
    echo "<hr>";
    
    ?>

    Сега правим документа – latest.php

    <?php
    
    echo "<h1>Latest News</h1>";
    
    $allnews = file("news.php");
    $i = 0;
    while ($i <= 2) {
    
    $tempnews = (explode('|', $allnews[$i], 3));
    
    if ($tempnews[1] != "") {
    echo "<hr><p><b>$tempnews[0]</b> - $tempnews[1]</p><p>$tempnews[2]</p>";
    }
    
    $i++;
    }
    
    echo "<hr>";
    echo "<p><a href=\"allnews.php\">View All News</a></p>";
    
    ?>

    последния документ който правим е rss.php

    <?php
    
    header('Content-type: text/xml');
    echo "<?xml version=\"1.0\"?>\n";
    echo "<rss version=\"2.0\">\n";
    echo " <channel>\n";
    echo " <title>YOUR WEBSITE TITLE</title>\n";
    echo " <link>YOUR WEBSITE URL</link>\n";
    echo " <description>YOUR WEBSITE DESCRIPTION</description>\n";
    echo " <language>en-us</language>\n";
    echo " <generator>PHP RSS Generator</generator>\n";
    echo " <managingEditor>E-MAIL ADDRESS OF EDITOR</managingEditor>\n";
    echo " <webMaster>E-MAIL ADDRESS OF WEBMASTER</webMaster>\n";
    
    $allnews = file("news.php");
    $i = 0;
    while ($i <= count($allnews)-1) {
    $tempnews = (explode('|', $allnews[$i], 3));
    
    $actualtitle = htmlentities(strip_tags($tempnews[0]));
    $actualdescription = htmlentities(strip_tags($tempnews[2]));
    $pubDate = strftime("%a, %d %b %Y %T GMT", strtotime($tempnews[1]));
    
    
    echo " <item>\n";
    echo " <title>$actualtitle</title>\n";
    echo " <link>http://YOUR WEBSITE ADDRESS/allnews.php</link>\n";
    echo " <guid>http://YOUR WEBSITE ADDRESS/allnews.php</guid>\n";
    echo " <pubDate>$pubDate</pubDate>\n";
    echo " <description>$actualdescription</description>\n";
    echo " </item>\n";
    
    $i++;
    }
    
    echo " </channel>\n";
    echo "</rss> ";
    
    ?>

    С това системата е готова!

    Оставете коментар