Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Zapis do bazy MySQL ze znacznikami HTML
Forum PHP.pl > Forum > Przedszkole
blejdas
Jak w temacie. Kod zapisu:

  1. <?php
  2. $add_site = true;
  3. include "_function.php";
  4. ?>
  5. <html>
  6. <head>
  7.  
  8. <title><?php echo Title($_GET["strona"]); ?></title>
  9. <link rel="stylesheet" type="text/css" href="style/site.css" />
  10. <link rel="stylesheet" href="style/thickbox.css" type="text/css" media="screen" />
  11. <link rel="Shortcut icon" href="images/ikonka.png" />
  12. <script type="text/javascript" src="ckeditor/ckeditor.js"></script>
  13. <script type="text/javascript" src="ckeditor/ckeditor.js"></script>
  14. </head>
  15. </html>
  16.  
  17. <?php
  18. require "polacz.db.ap";
  19. // wywołujemy funkcję connection()
  20. connection();
  21. mysql_query("SET NAMES utf8");
  22.  
  23. if ($_POST["wyslane"]) {
  24. $temat = htmlspecialchars(stripslashes(strip_tags(trim($_POST["temat"]))), ENT_QUOTES);
  25. $tresc = htmlspecialchars(stripslashes(strip_tags(trim($_POST["tresc"]))), ENT_QUOTES);
  26. $tresc = ereg_replace(" ","&nbsp;",$tresc);
  27. $temat = ereg_replace(" ","&nbsp;",$temat);
  28. $tresc = ereg_replace("\r", "", $tresc);
  29. $temat = ereg_replace("\r", "", $temat);
  30. $tresc = str_replace("\n", "<br>", $tresc);
  31. $temat = str_replace("\n", "<br>", $temat);
  32. $tresc = str_replace("<br/>", "<br>", $tresc);
  33. $temat = str_replace("<br/>", "<br>", $temat);
  34.  
  35. echo '<table class="forumline" width="100%" cellspacing="1" cellpadding="4" border="0">
  36. <tr>
  37. <td><table width="100%" cellspacing="0" cellpadding="1" border="0">
  38. <tr>
  39. <td>&nbsp;</td>
  40. </tr>
  41. <tr><td align="center"><span class="error">';
  42. if (strlen($temat) < 0 or strlen($temat) > 100000 ) {
  43. $blad++;
  44. echo 'Musisz wpisac PROMOCJE jesli wysylasz nowy watek (od 5 do 100000)<br>';
  45. }
  46. if (strlen($tresc) < 5 or strlen($tresc) > 300000 ) {
  47. $blad++;
  48. echo 'Musisz wpisac DANIE DNIA jesli wysylasz nowy watek (od 5 do 300000)<br>';
  49. }
  50.  
  51. echo '</span></td>
  52. </tr>
  53.  
  54. <tr>
  55. <td>&nbsp;</td>
  56. </tr>
  57. </table>
  58. </td>
  59. </tr>
  60. </table>';
  61. if ($blad == 0) {
  62. $wynik = mysql_query("INSERT INTO `promocje` (`id`, `temat`, `tresc`) VALUES ('', '$temat', '$tresc')");
  63. if ($wynik) {
  64. echo "<script>window.location.href='index.ap';</script>";
  65. }
  66. }
  67. }
  68. echo '
  69. <form method="post" name="form">
  70. <input type="hidden" name="wyslane" value="TRUE">
  71.  
  72. <table border="1" cellpadding="3" cellspacing="1" width="100%">
  73. <tr>
  74. <td class="row1" width="22%">
  75.  
  76. <table width="100%" border="0">
  77. <tr>
  78. <td align="left"><span class="gen"><b>PROMOCJA</b></span></td>
  79. <td align="right">&nbsp;
  80.  
  81. </td>
  82. </tr>
  83. </table>
  84.  
  85. </td>
  86.  
  87. <td class="row2" width="78%">
  88. <textarea id="promocje1" name="temat" rows="15" cols="35" style="width:100%" tabindex="2" class="post"></textarea><script type="text/javascript">
  89. CKEDITOR.replace( "promocje1" );
  90. </script>
  91. </td>
  92. </tr>
  93.  
  94. <tr>
  95. <td class="row1" valign="top">
  96. <table width="100%" border="0" cellspacing="0" cellpadding="1">
  97. <tr>
  98. <td><b>DANIE DNIA</b></td>
  99. </tr>
  100. </table>
  101. </td>
  102.  
  103. <td valign="top" >
  104. <table width="100%" border="0" cellspacing="0" cellpadding="2">
  105.  
  106. <tr>
  107. <td><textarea id="promocje" name="tresc" rows="15" cols="35" style="width:100%" tabindex="3" class="post"></textarea><script type="text/javascript">
  108. CKEDITOR.replace( "promocje" );
  109. </script></td>
  110. </tr>
  111.  
  112. </table>
  113. </td>
  114. </tr>
  115.  
  116. <tr>
  117. <td colspan="2" align="center" height="28"><input accesskey="s" tabindex="6" name="post" class="mainoption" value="Wyslij" type="submit"></td>
  118. </tr>
  119. </table>
  120.  
  121. </form>';
  122. ?>


Edytuje tekst w oknie CKEdiotr'a, pełne formatowanie(wyśrodkowanie, pogrubienie, kolor tkstu, czcionka itp.) a zapisuje sie jako zwykły tekst... i oco chodzi?
lobopol
wywal strip_tags to zobaczysz co się zmieni
blejdas
Cytat(lobopol @ 4.04.2012, 16:55:44 ) *
wywal strip_tags to zobaczysz co się zmieni



Kasuje strip_tags, dalej mi nie zapisuje kodu html, tylko zmienia znaczniki.


Może ktoś to poprawić z wyjaśnieniem co i czemu, bo ja nie rozumiem błędu
lobopol
przy zapisie masz jeszcze htmlspecialchars też się pozbądź
blejdas
Cytat(lobopol @ 4.04.2012, 18:15:51 ) *
przy zapisie masz jeszcze htmlspecialchars też się pozbądź

Kiedy kasuję to, to nie wysyła mi zapytania do bazy.
lobopol
ech :
  1. $tresc = mysql_real_escape_string ($_POST["tresc"])

i adekwatnie do drugiej zmiennej
blejdas
Cytat(lobopol @ 4.04.2012, 18:32:32 ) *
ech :
  1. $tresc = mysql_real_escape_string ($_POST["tresc"])

i adekwatnie do drugiej zmiennej


Ok, pomogło wink.gif Dzięki...

Zapis w bazie wygląda tak:
  1. <p style=\"text-align: center;\">\r\n <span style=\"color:#ffffff;\"><span style=\"font-family: verdana,geneva,sans-serif;\"><span style=\"font-size: 20px;\"><span style=\"background-color: rgb(0, 128, 0);\">PROMOCJA</span></span></span></span></p>


Na strone wyświetlającej pojawia się samo PRMOCJA

  1. <?php
  2. require "polacz.db.ap";
  3. connection();
  4. mysql_query("SET NAMES utf8");
  5.  
  6. $szukam = "SELECT `tresc` FROM `promocje`";
  7. $poszlo = mysql_query(stripslashes($szukam));
  8.  
  9. echo '<table>';
  10. while ($wynik = mysql_fetch_row($poszlo))
  11. {
  12. echo "$wynik[0]";
  13. }
  14. echo '<table>';
  15. ?>
  16.  
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.