Eli uutisjärjeslmä käyttää mysql :ää mukana kommentti systeemi :) Melkeen ensimmäinen tällänen vähän isompi koodi mitä oon tehnyt :) Myöhemmin voi mukaan tulla kommenttien muokkaus ja uutisten muokkaus... Tällä hetkellä vain uutisten poisto ja lisäys... Ja siis tässähän ei ole vielä mitään floodin yms. estoa mutta se ehkä kanssa myöhemmin :)
Antakaahan toki kehittävää kritiikkiä...
Ja huomatkaahan toki että kun en ole enne tälläsiä vinkkejä tehnyt niin sisennykset, kommentit yms eivät pakolla ole mitään loistavia :)
Ja joo voi olla tyhmästi tehty yms ( siis sisennykset yms ja kun joissain tableissa on nyt värejä ) :) kun otin ton alunperin sellasesta minkä tein yhtee mun "projektiin" joten jouduin tässä muokkailee... testasin kyllä ja kyl pitäis toimii... Että siitä vaan kokeileen ^^ toivottavasti pidätte
Eli ensin mysql:ssä luodaan tarvittavat taulut:
CREATE TABLE news ( title TEXT, dtime TEXT, sender TEXT, news TEXT, id INT(4) AUTO_INCREMENT, PRIMARY KEY(id) ); CREATE TABLE comments ( comment_news_id INT(4), comment_content TEXT, comment_sender TEXT, comment_sender_email TEXT, comment_sender_www TEXT, comment_sender_ip TEXT, comment_date DATETIME );
mysql_connect.php
<?php //MySQL asetukset $mysql_user = "user"; $mysql_pw = "pw"; $mysql_server = "localhost"; $mysql_db = "database"; //Yhdistys ja sulku $connect = mysql_connect($mysql_server, $mysql_user, $mysql_pw) or die ("Could not connect to MySQL"); mysql_select_db($mysql_db, $connect) or die ("Could not connec to the database"); ?>
write_remove.php
<?php @$page = $_GET['page']; //Katsotaan onko $page tyhjä if (!$page) { echo "<a href=\"write_remove.php?page=wnews\">Write News</a><br><br>"; echo "<a href=\"write_remove.php?page=rnews\">Remove News</a>"; } //Katsotaan halutaanko kirjottaa uutinen if ($page == "wnews") { @$write = $_GET['write']; //Tarkistetaan lisätäänkö tiedot mysql vai echotaanko formi if ($write == "1") { //Haetaan tiedot formista @$title = $_POST['title']; @$writer = $_POST['writer']; @$news = $_POST['news']; @$time = date("j.m @ H:i"); @$email = $_POST['email']; //Muokataan lähettäjä oikeeseen muotoon if ($writer) { $writer = "anonymous"; } if (!$email) { $sender = $writer; } else { $sender = "<a href=\"mailto:{$email}\">$writer</a>"; } //Tarkistetaan että kaikki tarvittavat alueet on täytetty if ($title == "") { echo "Please enter the title"; exit; } if ($news == "") { echo "Please write your news :)"; exit; } //Includataan mysql :n yhdistäminen include("mysql_connect.php"); //Lisätään tiedot mysql :n $add = "INSERT INTO news (title, sender, news, dtime) VALUES ('$title', '$sender', '$news', '$time')"; mysql_query($add, $connect); //Suljetaan yhteys ja echotaan tehtävän onnistuminut suoritus mysql_close($connect); echo "News written successfully !"; //Jos formia ei ole vielä lähetetty echotaan formi } else { //Echotaan sivun sisältö echo "Write news<br><br><br> <form action=\"write_remove.php?page=wnews&write=1\" method=\"post\"> title<br> <input type=\"text\" name=\"title\"><br><br> writer<br><input type=\"text\" name=\"writer\"><br><br> email<br><input type=\"text\" name=\"email\"><br><br> news<br> <textarea name=\"news\" cols=\"50\" rows=\"10\" class=\"textarea\"></textarea><br> <input type=\"submit\" value=\"write\" class=\"submit\"> </form>"; } } //Katsotaan jos uutisia halutaan poistaa if ($page == "rnews") { @$remove_id = $_GET['remove_id']; //Tarkistetaan poistetaanko uutinen vai listataanko uutiset jotka voidaan poistaa if (!$remove_id) { //Includataan mysql :n yhdistäminen include("mysql_connect.php"); //Echotaan lista uutisista echo "Remove news<br><br><br>"; //Haetaan tiedot mysql :stä $sql = "SELECT * FROM news"; $query = mysql_query($sql, $connect); //Haetaan kaikki rivit mitä löydetään haulla for ($i = 0; $i < mysql_num_rows($query); $i++) { $title = mysql_result($query, $i, "title"); $id = mysql_result($query, $i, "id"); $dtime = mysql_result($query, $i, "dtime"); //Echotaan rivit ulos niin että joka toinen rivi erivärinen if ($i%2) { echo "<table width=\"90%\" height=\"14\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#8D9BA9\"> <tr> <td align=\"left\"> <b>$title</b> - <i>$dtime</i> </td> <td align=\"right\"> <a href=\"write_remove.php?page=rnews&remove_id={$id}\">remove</a> </tr> </table>"; } else { echo "<table width=\"90%\" height=\"14\" cellpadding=\"0\" cellspacing=\"0\"> <tr> <td align=\"left\"> <b>$title</b> - <i>$dtime</i> </td> <td align=\"right\"> <a href=\"write_remove.php?page=rnews&remove_id={$id}\">remove</a> </tr> </table>"; } } } //Jos on jo valittu mikä uutinen poistetaan else { //Includataan mysql :n yhdistäminen include("mysql_connect.php"); //Poistetaan haluttu uutinen mysql :stä $sql = "DELETE FROM news WHERE id = '$remove_id'"; mysql_query($sql, $connect); //Suljetaan mysql yhteys mysql_close($connect); //Siirrytään takaisin listaan josta voi poistaa uutiset header("location:write_remove.php?page=rnews"); } } ?>
index.php
<?php //Includataan mysql :n yhdistäminen include("mysql_connect.php"); @$news_id = $_GET['news_id']; @$writecom = $_GET['write_comment']; //Jos ollaan kirjoittamassa kommenttia if ($writecom == "1") { $nick = $_POST['nick']; $email = $_POST['email']; $www = $_POST['www']; $comment = $_POST['comment']; $comment_newsid = $_POST['newsid']; $sender_ip = $_POST['ip']; $comment_date = date("Y\-m\-d H:i:s"); //Tarkistetaan mitkä kaikki on formista asetettu ja muutellaan arvot tarpeen mukaan if (!$nick) { $nick = "no nick"; } if (!$comment) { echo "Please enter your comment"; exit; } //Lisätään kommentti mysql :n $commentsql = "INSERT INTO comments (comment_news_id, comment_content, comment_sender, comment_sender_email, comment_sender_www, comment_sender_ip, comment_sender_pass, comment_date) VALUES ('$comment_newsid', '$comment', '$nick', '$email', '$www', '$sender_ip', '$password', '$comment_date')"; mysql_query($commentsql, $connect); //Suljetaan yhteys ja siirretään kävijä takasin sivulle jossa kommentit yms mysql_close($connect); header("location:index.php?news_id={$comment_newsid}&comments=1"); } //Tarkistetaan näytetäänkö jokin uutinen ja sen kommentit if (isset($news_id)) { $sql = "SELECT * FROM news WHERE id = $news_id"; $query = mysql_query($sql, $connect); for ($i = 0; $i < mysql_num_rows($query); $i++) { $title = mysql_result($query, $i, "title"); $dtime = mysql_result($query, $i, "dtime"); $sender = mysql_result($query, $i, "sender"); $news = mysql_result($query, $i, "news"); //Echotaan uutinen echo "<table width=\"90%\" height=\"14\" cellpadding=\"0\" cellspacing=\"0\"> <tr > <td bgcolor=\"#8D9BA9\"> <b>$title</b> </td> </tr> </table> <table width=\"90%\" cellpadding=\"5\" cellspacing=\"0\"> <tr > <td> $news <br> <br> $dtime by $sender </td> </tr> </table>"; //Echotaan kommenttien alku echo "<br><br><br>Comments<br><hr width=\"90%\" align=\"left\"><br><br><br>"; //Includataan mysql :n yhdistäminen include("mysql_connect.php"); //Suoritetaan mysql haku $csql = "SELECT * FROM comments WHERE comment_news_id = '$news_id' ORDER BY comment_date"; $cquery = mysql_query($csql, $connect); //Tarkistetaan onko kommenttaja yhtään kyseiselle uutiselle @$check = mysql_num_rows($cquery); if ($check < 1) { //Jos ei echotaan: echo "<i>No comments yet</i>"; } else { //Suoritetaan mysql haku echottavaan muotoon for ($i = 0; $i < mysql_num_rows($cquery); $i++) { $comment_id = mysql_result($cquery, $i, "comment_id"); $content = mysql_result($cquery, $i, "comment_content"); $sender = mysql_result($cquery, $i, "comment_sender"); $sender_email = mysql_result($cquery, $i, "comment_sender_email"); $sender_www = mysql_result($cquery, $i, "comment_sender_www"); $sender_ip = mysql_result($cquery, $i, "comment_sender_ip"); $comment_date = mysql_result($cquery, $i, "comment_date"); //Tarkistetaan haun tulokset if (!$sender_email) { $s_email = "@"; } else { $s_email = "<a href=\"mailto:$sender_email\">@</a>"; } if (!$sender_www) { $s_www = "www"; } else { $s_www = "<a href=\"http://{$sender_www}\" target=\"_new\">www</a>"; } if (!$sender) { $s = "no nick"; } else { $s = "$sender"; } if (!$sender_ip) { $ip_loggedornot = "not logged"; } else { $ip_loggedornot = "logged"; } //Lasketaan monesko kommentti on kyseessä $number = 1 + $i; //Echotaan kommentit echo " <table width=\"70%\" height=\"*\" cellpadding=\"0\" cellspacing=\"0\"> <tr height=\"14\" bgcolor=\"#8D9BA9\"> <td> <font color=\"#FF0000\">#$number</font> <b>$s</b> $s_email - $s_www </td> <td align=\"right\"> ip: $ip_loggedornot </td> </tr> <tr> <td> <table width=\"100%\" height=\"*\" cellpadding=\"10\" cellspacing=\"0\" align=\"center\"> <tr> <td> $content <br><br>$comment_date </td> </tr> </table> </td> </tr> </table><br><br>"; } } //Haetaan käyttäjän ip $ip = $_SERVER['REMOTE_ADDR']; //Echotaan formi echo " <br><br><br><br> <form action=\"index.php?news_id={$news_id}&comments=1&write_comment=1\" method=\"post\"> nick<br> <input type=\"text\" name=\"nick\"><br><br> email<br> <input type=\"text\" name=\"email\"><br><br> www<br> <input type=\"text\" name=\"www\"><br><br> comment<br> <textarea name=\"comment\" cols=\"40\" rows=\"5\"></textarea> <input type=\"hidden\" name=\"ip\" value=\"$ip\"> <input type=\"hidden\" name=\"newsid\" value=\"$news_id\"><br><br> <input type=\"submit\" value=\"comment\"></form>"; //Suljetaan mysql yhteys mysql_close($connect); } } else { //Haetaan kaikki uutiset $sql = "SELECT * FROM news ORDER BY id DESC"; $query = mysql_query($sql, $connect); //Haun tuloksia for ($i = 0; $i < mysql_num_rows($query); $i++) { $title = mysql_result($query, $i, "title"); $dtime = mysql_result($query, $i, "dtime"); $sender = mysql_result($query, $i, "sender"); $news = mysql_result($query, $i, "news"); $id = mysql_result($query, $i, "id"); //Katsotaan monta kommenttia kyseiselle uutiselle on $commentssql = "SELECT * FROM comments WHERE comment_news_id = '$id'"; $commentsquery = mysql_query($commentssql, $connect); //Echotaan uutiset echo "<table width=\"90%\" height=\"14\" cellpadding=\"0\" cellspacing=\"0\"> <tr > <td bgcolor=\"#8D9BA9\"> <b>$title</b> - <a href=\"index.php?news_id=$id&comments=1\">comments</a> (" . mysql_num_rows($commentsquery) . ") </td> </tr> </table> <table width=\"90%\" cellpadding=\"5\" cellspacing=\"0\"> <tr > <td> $news <br> <br> $dtime by $sender </td> </tr> </table><br><br><br>"; } } //Suljetaan yhteys mysql_close($connect); ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.