Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]system news
Forum PHP.pl > Forum > Przedszkole
Altec69
Witam
Szukam porady.Mam następujący moduł newsów na stronie:
  1. <?php
  2. require_once ("include/functions.php");
  3. require_once ("include/raconfigmzes.php");
  4. require_once ("include/blocks.php");
  5. if (!isset($CURUSER)) global $CURUSER;
  6. ?>
  7.  
  8. <table cellpadding=0 cellspacing=0 align=center width=100% style="margin-bottom:20px;">
  9.  
  10. <tr>
  11. <TD width=100% align=left valign=top>
  12. <table width="100%" border="0">
  13. <tr>
  14. <td style="border:0px solid #C0D7F3;" width="50%" valign="top"><span style="text-align:center;background: url('nav_black.jpg');display:block;color:#FFFFFF;font-size:11px;font-weight:bold;line-height:27px;height:27px;margin-bottom:12px;border-bottom:0px solid #C0D7F3;-moz-border-radius:10px;">Nowości na Portalu</span>
  15.  
  16. <?
  17. print_news($GLOBALS['block_newslimit']);
  18. print("\t\t</td>\n"
  19. ."\t</tr>\n"
  20. ."</table><br />");
  21.  
  22. print("</td></tr></table>");
  23.  
  24. ?>

Wszystko działa ok.Jako admin można dodawać newsy z poziomu strony tylko jako linki lub prosty text , ale nie można pisać w PHP czy HTML.

News.php
  1. <?php
  2. require_once ("include/functions.php");
  3. require_once ("include/raconfigmzes.php");
  4.  
  5. dbconn();
  6.  
  7. standardheader('Manage News');
  8.  
  9. if ($CURUSER["edit_news"]!="yes")
  10. {
  11. err_msg(ERROR,ERR_NOT_AUTH);
  12. stdfoot();
  13. exit();
  14. }
  15.  
  16. if (isset($_GET["act"])) $action=$_GET["act"];
  17. else $action ="";
  18.  
  19. if ($action=="del")
  20. {
  21. if ($CURUSER["delete_news"]=="yes")
  22. {
  23. mysql_query("DELETE FROM news WHERE id=".$_GET["id"]);
  24. redirect("index.php");
  25. exit();
  26. }
  27. else
  28. {
  29. err_msg(ERROR,CANT_DELETE_NEWS);
  30. stdfoot();
  31. exit();
  32. }
  33.  
  34. }
  35. elseif ($action=="edit")
  36. {
  37. if ($CURUSER["edit_news"]=="yes")
  38. {
  39. $rnews=mysql_query("SELECT * FROM news WHERE id=".intval($_GET["id"]));
  40. if (!$rnews)
  41. {
  42. err_msg(ERROR,ERR_BAD_NEWS_ID);
  43. stdfoot();
  44. exit();
  45. }
  46. $row=mysql_fetch_array($rnews);
  47. if ($row)
  48. {
  49. $news=unesc($row["news"]);
  50. $title=unesc($row["title"]);
  51. }
  52. else
  53. {
  54. err_msg(ERROR,ERR_NO_NEWS_ID);
  55. stdfoot();
  56. exit();
  57. }
  58. }
  59. else
  60. {
  61. err_msg(ERROR,CANT_DELETE_NEWS);
  62. stdfoot();
  63. exit();
  64. }
  65. }
  66. else
  67. {
  68. if (!isset($_POST["conferma"])) ;
  69. elseif ($_POST["conferma"]==FRM_CONFIRM)
  70. {
  71. if (isset($_POST["news"]) && isset($_POST["title"]))
  72. {
  73. $news=$_POST["news"];
  74. $uid=$CURUSER["uid"];
  75. $title=$_POST["title"];
  76. if ($news=="" || $title=="")
  77. {
  78. err_msg(ERROR,ERR_INS_TITLE_NEWS);
  79. }
  80. else
  81. {
  82. $news=sqlesc($news);
  83. $title=sqlesc($title);
  84. $nid=intval($_POST["id"]);
  85. $action=$_POST['action'];
  86. if ($action=="edit")
  87. mysql_query("UPDATE news SET news=$news,title=$title WHERE id=$nid") or die(mysql_error());
  88. else
  89. mysql_query("INSERT INTO news (news,title,user_id,date) VALUES ($news,$title,$uid,NOW())") or die(mysql_error());
  90. redirect("index.php");
  91. exit();
  92. }
  93. }
  94. }
  95. elseif ($_POST["conferma"]==FRM_CANCEL) {
  96. redirect("index.php");
  97. exit();
  98. }
  99. else {
  100. $title="";
  101. $news="";
  102. }
  103. }
  104.  
  105. block_begin(NEWS_PANEL);
  106. global $news, $title;
  107. ?>
  108. <div align="left">
  109. <form action="news.php" name="news" method="post">
  110. <table border="0" class="lista">
  111. <tr><td><input type="hidden" name="action" value="<?php echo $action ?>"/></td></tr>
  112. <tr><td><input type="hidden" name="id" value="<?php echo $_GET["id"] ?>"/></td></tr>
  113. <tr>
  114. <td align="left" colspan=2 class="header" >
  115. <?php echo NEWS_INSERT; ?>:<br />
  116. </td>
  117. </tr>
  118. <tr>
  119. <td align="left" class="lista" style="font-size:10pt">
  120. <?php echo NEWS_TITLE; ?>
  121. </td>
  122. <td align="left" class="lista">
  123. <input type="text" name="title" size="40" maxlength="40" value="<?php echo $title; ?>"/>
  124. </td>
  125. </tr>
  126. <tr>
  127. <td align="left" class="lista" valign="top" style="font-size:10pt">
  128. <?php echo NEWS_DESCRIPTION; ?>
  129. </td>
  130. <td align="left" class="lista">
  131. <?php echo textbbcode("news","news",$news); ?>
  132. </td>
  133. </tr>
  134. <tr>
  135. </tr>
  136. <tr>
  137. <td align="left" class="header" >
  138. <input type="submit" name="conferma" value="<?php echo FRM_CONFIRM ?>" />
  139. </td>
  140. <td align="left"class="header" >
  141. <input type="submit" name="conferma" value="<?php echo FRM_CANCEL ?>" />
  142. </td>
  143. </tr>
  144. </table>
  145. </form>
  146. </div>
  147.  
  148. <?php
  149.  
  150. block_end();
  151.  
  152. ?>
csharp
nie rozumiem... czego Ty oczekujesz? co sie dzieje jak dodajesz html ?
b4rt3kk
Za to możesz dodawać BB Code z tego co widzę, chyba starczy? Jeśli nie podoba Ci się takie rozwiązanie poszukaj w funkcjach strip_tags oraz stripslashes, które to usuwają html oraz php i znaki niedozwolone ze stringa, który zapisujesz później w bazie. Można się domyślać, że odpowiedzialna za to jest funkcja sqlesc($string), możesz ją usunąć.
Altec69
Dzięki za podpowiedz, już sobie poradzę .
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.