Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Proszę o pomoc w przerobieniu skryptu newsa
Forum PHP.pl > Forum > Przedszkole
vernalis
Witam. Potrzebuję pomocy w przerobieniu skryptu php tak aby na stronie na której będzie widoczny news znajdował się tylko nagłówek, temat, data dodania i kto dodał. Potrzebne mi jest to do wyświetlania tematów newsów na stronie głównej, a całość dopiero po kliknięciu np w (odnośnik do głównego skryptu). Podaję kod pliku :
news.php
  1. <?
  2. require "news/rock/news/config.php";
  3. $newsdata="news/rock/news/data/newsdata.dat";
  4. if(!isset($action)) {
  5. $action="display";
  6. }
  7. switch($action) {
  8. case "display":
  9. if(file_exists($newsdata)){
  10. $size=(int)((filesize("$newsdata")+1023)/1024);
  11. $table=file($newsdata);
  12. $total=count($table);
  13. if ($display_header==1) {
  14. echo "<p align=center ><b>$head_title</b></p>";
  15. }
  16. if ($list=="all") {
  17. $max=0;
  18. }
  19. else {
  20. $max=$total-$show_num;
  21. }
  22. if($max < 0) {
  23. $max=0;
  24. }
  25. for ($i=$total; $i >= $max; $i--)
  26. {
  27. $table[$i]=trim($table[$i]);
  28. if($table[$i]!="")
  29. {
  30. $data=explode("*|*", $table[$i]);
  31. $data[5]=trim($data[5]);
  32. $data[6]=trim($data[6]);
  33. if($data[6]=="") {
  34. $data[6]=0;
  35. }
  36. $date=$data[1];
  37. $date=explode("-", $date);
  38. $hour=$data[2];
  39. $hour=explode(":", $hour);
  40. $id=$i+1;
  41. $comment_base="$date[0]"."$date[1]"."$date[2]"."$hour[0]"."$hour[1]";
  42. echo "<table border=\"0\" width=\"100%\"><tr><td width=\"100%\" colspan=\"2\" style=\"color: $header_font; background:$header_bg; font-weight:bold;font-size:12px\"><img src=news/rock/news/img/news_ico.gif align=bottom> <b>$data[0]</b></td></tr><tr><td width=\"100%\" colspan=\"2\"><span style=\"font-size: $date_size\">$data[1], $data[2]</span><br><br></td></tr><tr><td width=\"100%\" colspan=\"2\">
  43. <p style=\"text-align: justify;\">$data[3]</p></td></tr><tr><td style=\"font-weight:bold;font-size:12px\" width=\"50%\" align=\"left\" ><br><b>dodał:</b> <a href=mailto:$data[4]>$data[5]</a></td></tr><tr><td width=\"50%\" align=\"right\">";
  44. if($enable_comments=="1") 
  45. {
  46. echo "<br><a href=$news_page?action=comments&base=$comment_base&id=$id>komentarze</a>: $data[6] | <a href=$news_page?action=new_comment&id=$id>skomentuj</a></td></tr></table>$spacer
  47. ";
  48. }
  49. else {
  50. echo "</td></tr></table>$spacer";
  51. }
  52. }
  53. }
  54. if ($list!="all" && $total > $show_num) {
  55. echo "<b>ť</b> <a href=$news_page?list=all>więcej newsów: $total ($size KB)</a><br><br>";
  56. }
  57. }
  58. else {
  59. echo "<br><center>Nie utworzono bazy newsów!<br><a href=news/admin.php>Panel Administratora</a>.</center><br>";
  60. }
  61. break;
  62. case "comments":
  63. if(!isset($id)) {
  64. echo "Nie odnaleziono newsa o podanym Id!";
  65. die();
  66. }
  67. $comments_base="news/data/$base.dat";
  68. if(!file_exists($comments_base)) {
  69. echo "Nie odnaleziono bazy komentarzy dla wybranego newsa!<br><br>";
  70. }
  71. else {
  72. echo "<p align=center><b>Treść newsa:</b></p>";
  73. $table=file($newsdata);
  74. $max=count($table);
  75. $nr=$id-1;
  76. for($i=0; $i < $max; $i++) {
  77. if($i==$nr) {
  78. $data=explode("*|*", $table[$i]);
  79. $data[5]=trim($data[5]);
  80. $data[6]=trim($data[6]);
  81. echo "<table border=\"0\" width=\"100%\"><tr><td width=\"100%\" colspan=\"2\" style=\"color: $header_font; background:$header_bg; font-weight:bold;\"><img src=news/img/news_ico.gif align=bottom> <b>$data[0]</b></td></tr><tr><td width=\"100%\" colspan=\"2\"><span style=\"font-size: $date_size\">$data[1], $data[2]</span><br><br></td></tr><tr><td width=\"100%\" colspan=\"2\">
  82. <p style=\"text-align: justify;\">$data[3]</p></td></tr><tr><td width=\"50%\" align=\"left\" ><br><b>dodał:</b> <a href=mailto:$data[4]>$data[5]</a></td><td width=\"50%\" align=\"right\"></td></tr></table>$spacer";
  83. echo "<p align=center><b>Komentarze:</b></p>";
  84. }
  85. }
  86. $comments=file($comments_base);
  87. $all=count($comments);
  88. for ($x=0; $x < $all; $x++) {
  89. $data=explode("*|*", $comments[$x]);
  90. $data[4]=trim($data[4]);
  91. echo "<table border=\"0\" width=\"100%\"<tr><td width=\"100%\" colspan=\"2\" style=\"color: $cmnt_header_font; background:$cmnt_header_bg; font-weight:bold;\">Dodano: $data[3], $data[4]</td></tr><tr><td width=\"100%\" colspan=\"2\"><p> </p></td><tr><td width=\"100%\" colspan=\"2\">
  92. <p style=\"text-align: justify;\">$data[2]</p></td></tr><tr><td width=\"50%\" align=\"left\" ><br><b>autor:</b> <a href=mailto:$data[1]>$data[0]</a></td><td width=\"50%\" align=\"right\"></td></tr></table>$spacer";
  93. }
  94. }
  95. echo "<a href=javascript:history.back()><b>Ť</b> wstecz</a> | <a href=$news_page?action=new_comment&id=$id>skomentuj</a><br><br>";
  96. break;
  97. case "new_comment":
  98. if(!isset($id)) {
  99. echo "Nie znaleziono newsa o podanym Id!<br>";
  100. }
  101. else {
  102. echo "<p align=center><b>Treść newsa:</b></p>";
  103. $table=file($newsdata);
  104. $max=count($table);
  105. $nr=$id-1;
  106. for($i=0; $i < $max; $i++) {
  107. if($i==$nr) {
  108. $data=explode("*|*", $table[$i]);
  109. $data[5]=trim($data[5]);
  110. $data[6]=trim($data[6]);
  111. echo "<table border=\"0\" width=\"100%\"><tr><td width=\"100%\" colspan=\"2\" style=\"color: $header_font; background:$header_bg; font-weight:bold;\"><img src=news/img/news_ico.gif align=bottom> <b>$data[0]</b></td></tr><tr><td width=\"100%\" colspan=\"2\"><span style=\"font-size: $date_size\">$data[1], $data[2]</span><br><br></td></tr><tr><td width=\"100%\" colspan=\"2\">
  112. <p style=\"text-align: justify;\">$data[3]</p></td></tr><tr><td width=\"50%\" align=\"left\" ><br><b>dodał:</b> <a href=mailto:$data[4]>$data[5]</a></td><td width=\"50%\" align=\"right\"></td></tr></table>$spacer";
  113. }
  114. }
  115. echo "<p align=center><b>Dodaj komentarz:</b></p>";
  116. echo "<form action=\"$news_page\" method=\"POST\">
  117. <input type=\"hidden\" name=\"id\" value=\"$id\">
  118. <input type=\"hidden\" name=\"action\" value=\"add_comment\">
  119. nick:<br>
  120. <input type=\"text\" name=\"nick\" maxlength=\"15\"><br>
  121. email:<br>
  122. <input type=\"email\" name=\"email\" maxlength=\"50\"><br>
  123. komentarz:<br>
  124. <textarea name=\"body\" maxlength=\"650\" rows=\"6\" cols=\"35\" wrap=\"virtual\">
  125. </textarea><br><br>
  126. <input type=\"submit\" value=\"dodaj\"> <input type=\"reset\" value=\"reset\">
  127. </form>";
  128. }
  129. echo "<hr noshade><a href=javascript:history.back()><b>Ť</b> wstecz</a><br><br>";
  130. break;
  131. case "add_comment":
  132. if(!isset($id)) {
  133. echo "Nie znaleziono newsa o podanym Id!<br>";
  134. }
  135. else {
  136. if($nick=="" || !eregi("@", $email) || $body =="") {
  137. echo "Należy prawidłowo wypełnić wszystkie pola formularza!<br><br><a href=javascript:history.back()><b>Ť</b> wstecz</a><br><br>";
  138. }
  139. else {
  140. $body=substr($body, 0, 650);
  141. $body=strip_tags($body, '<a><b><i><u>');
  142. $body=stripslashes($body);
  143. $body=str_replace("\n", "<br>", $body);
  144. $date=date("d-m-Y");
  145. $hour=date("H:i");
  146. $i=$id-1;
  147. $table=file($newsdata);
  148. $all=count($table);
  149. $f=fopen($newsdata, "w");
  150. flock($f, 2);
  151. for($z=0; $z<$all; $z++) {
  152. $data=explode("*|*", $table[$z]);
  153. $data[5]=trim($data[5]);
  154. $data[6]=trim($data[6]);
  155. if($z==$i) {
  156. $newsdate=explode("-", $data[1]);
  157. $newshour=explode(":", $data[2]);
  158. $newsdate="$newsdate[0]$newsdate[1]$newsdate[2]";
  159. $newshour="$newshour[0]$newshour[1]";
  160. $comment_base="$newsdate$newshour";
  161. $data[6]++;
  162. }
  163. $write_str="$data[0]*|*$data[1]*|*$data[2]*|*$data[3]*|*$data[4]*|*$data[5]*|*$data[6]\n";
  164. fputs($f, $write_str);
  165. }
  166. flock($f, 3);
  167. fclose($f);
  168. $comment_base="news/data/$comment_base.dat";
  169. if(file_exists($comment_base)) {
  170. $fc=fopen($comment_base, "a");
  171. }
  172. else {
  173. $fc=fopen($comment_base, "w");
  174. }
  175. flock($fc, 2);
  176. $comment_str="$nick*|*$email*|*$body*|*$date*|*$hour\n";
  177. fputs($fc, $comment_str);
  178. flock($fc, 3);
  179. fclose($fc);
  180. echo "<b>$comment_confirm</b><br><br>
  181. <a href=$news_page>pokaż newsy</a><br><br>";
  182. }
  183.  
  184. }
  185. break;
  186. }
  187. ?>


i config.php
  1. <?
  2. //hasło administratora;
  3. $password="******";
  4.  
  5. //Pełna ścieżka do katalogu w którym będzie umieszczony skrypt (bez slasha na końcu);
  6. $main_url="localhost/news";
  7.  
  8. //Nazwa strony, na której wyświetlane będą newsy, np. "index.php";
  9. $news_page="news.php";
  10.  
  11. //Liczba ostatnich newsów, które mają być wyświetlane;
  12. $show_num=1;
  13.  
  14. //Włączenie: (1) lub wyłączenie: (0) tytułowego nagłówka na stronie z newsami;
  15. $display_header=1;
  16.  
  17. //Tekst nagłówka strony z newsami;
  18. $head_title="Rock & Metal";
  19.  
  20. //Kod HTML używany do oddzielania poszczególnych newsów, np. "", "<hr>, itp;
  21. $spacer="<hr size=1 noshade>";
  22.  
  23. //Strona kodowa w jakiej mają być wyświetlane newsy, np. "iso-8859-2";
  24. $encoding="ISO-8859-2";
  25.  
  26. //Ścieżka do pliku graficznego, widocznego przy każdym Newsie;
  27. $image="";
  28.  
  29.  
  30. //Ścieżka do arkusz stylów CSS, używanego przez skrypt Admina.
  31. $styl="";
  32.  
  33.  
  34.  
  35. //Rozmiar czcionki, którą będzie pisana data dodania newsa lub komentarza;
  36. $date_size=9;
  37. ?>

Bardzo proszę o pomoc
Cienki1980
A jaki to ma związek z programowaniem obiektowym questionmark.gif
Przenoszę na Przedszkole
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.