Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Jak zapisać znaczniki html do bazy mysql?
Forum PHP.pl > Forum > Przedszkole
Johnas
Witam! Mam problem. Otóż nie wiem jak zapisać znaczniki typu
Kod
<b>, <img>, <a> itp.
do bazy mysql. Jak dodaje tekst np:
Kod
<b>test</b>
to pokazuje mi w bazie tylko siema bez znaczników HTML... Da się jakoś zapisać te znaczniki? sad.gif
wookieb
Pokaż kod.
Johnas
To jest wysyłanie danych do MySQL:
  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3. ?>
  4.  
  5. <?php
  6. include("db.php");
  7. $tabela1 = 'wiadomosci';
  8. $id = $_SESSION['id'];
  9. $dodatkowe = mysql_fetch_assoc(mysql_query("SELECT imie, nazwisko FROM dodatkowe_dane WHERE `id_user`=". $id ." LIMIT 1;"));
  10.  
  11. if ($_POST) {
  12.  
  13. $imie = $dodatkowe['imie'];
  14. $nazwisko = $dodatkowe['nazwisko'];
  15. $id = $_SESSION['id'];
  16. $obrazek = htmlspecialchars(addslashes(strip_tags(trim($_POST["obrazek"]))), ENT_QUOTES);
  17. $tytul = htmlspecialchars(addslashes(strip_tags(trim($_POST["tytul"]))), ENT_QUOTES);
  18. $wstep = htmlspecialchars(addslashes(strip_tags(trim($_POST["wstep"]))), ENT_QUOTES);
  19. $trescmax = htmlspecialchars(addslashes(strip_tags(trim($_POST["editor1"]))), ENT_QUOTES);
  20.  
  21. //sprawdzamy dane
  22. if (strlen($obrazek) < 1 or strlen($obrazek) > 25 ) {
  23. $blad++;
  24. echo '<span class="blad">Proszę podac link obrazka (do 100 znaków).</span>';
  25. }
  26. if (strlen($wstep) < 1 or strlen($wstep) > 50 ) {
  27. $blad++;
  28. echo '<span class="blad">Proszę wprowadzić poprawny wstep (do 50 znaków).</span>';
  29. }
  30. if (strlen($tytul) < 1 or strlen($tytul) > 25 ) {
  31. $blad++;
  32. echo '<span class="blad">Proszę wprowadzić poprawnie tytul (do 25 znaków).</span>';
  33. }
  34.  
  35. if ($blad == 0) {
  36. $wynik = mysql_query("INSERT INTO $tabela1 VALUES('', '$tytul', '$wstep', '$obrazek', '$id', '$imie', '$nazwisko', '$trescmax', NOW())");
  37. if ($wynik)
  38. {
  39. echo '<h1><font color="green">Dodano artykół</font></h1>';
  40. header( "refresh:1;url=../../artykuly.php" );
  41. }
  42. }
  43. }


A to formularz:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <!--
  3. Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
  4. For licensing, see LICENSE.html or <a href="http://ckeditor.com/license" target="_blank">http://ckeditor.com/license</a>
  5. -->
  6. <html xmlns="http://www.w3.org/1999/xhtml">
  7. <title>Full Page Editing - CKEditor Sample</title>
  8. <meta content="text/html; charset=utf-8" http-equiv="content-type" />
  9. <script type="text/javascript" src="../ckeditor.js"></script>
  10. <script src="sample.js" type="text/javascript"></script>
  11. <link href="sample.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <h1>
  14. Dodaj artykuł
  15. </h1>
  16. <!-- This <div> holds alert messages to be display in the sample page. -->
  17. <div id="alerts">
  18. <p>
  19. <strong>Tutaj szyybko dodasz artykuł</strong>
  20. </p>
  21. </div>
  22. <form action="dodajw.php" method="post">
  23. <p>
  24. <label for="editor1">
  25. Tytół:</label><br />
  26. <input type="text" name="tytul" height="500" id="imie" />
  27. </p>
  28.  
  29. <p>
  30. <label for="editor1">
  31. Wstęp:</label><br />
  32. <input type="text" name="wstep" height="500" id="imie" />
  33. </p>
  34.  
  35. <p>
  36. <label for="editor1">
  37. Obrazek:</label><br />
  38. <input type="text" name="obrazek" height="500" id="imie" />
  39. </p>
  40.  
  41. <p>
  42. <label for="editor1">
  43. Dalsza treść:</label><br />
  44. <textarea cols="80" id="editor1" name="editor1" rows="10">&lt;html&gt;&lt;head&gt;&lt;title&gt;CKEditor Sample&lt;/title&gt;&lt;/head&gt;&lt;body&gt;&lt;p&gt;This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://ckeditor.com/"&gt;CKEditor&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</textarea>
  45. <script type="text/javascript">
  46. //<![CDATA[
  47.  
  48. CKEDITOR.replace( 'editor1',
  49. {
  50. fullPage : true
  51. });
  52.  
  53. //]]>
  54. </script>
  55. </p>
  56. <p>
  57. <input type="submit" value="Submit" />
  58. </p>
  59. </form>
  60. <div id="footer">
  61. <hr />
  62. <p>
  63. CKEditor - The text editor for Internet - <a href="http://ckeditor.com/">http://ckeditor.com</a>
  64. </p>
  65. <p id="copy">
  66. Copyright &copy; 2003-2010, <a href="http://cksource.com/">CKSource</a> - Frederico
  67. Knabben. All rights reserved.
  68. </p>
  69. </div>
  70. </body>
  71. </html>
zordon
Poczytaj co robi funkcja strip_tags zanim zaczniesz jej używać
Johnas
Zrobiłem tak:
  1. <?php
  2. session_start(); // rozpoczęcie sesji
  3. ?>
  4.  
  5. <?php
  6. include("db.php");
  7. $tabela1 = 'wiadomosci';
  8. $id = $_SESSION['id'];
  9. $dodatkowe = mysql_fetch_assoc(mysql_query("SELECT imie, nazwisko FROM dodatkowe_dane WHERE `id_user`=". $id ." LIMIT 1;"));
  10.  
  11. if ($_POST) {
  12.  
  13. $imie = $dodatkowe['imie'];
  14. $nazwisko = $dodatkowe['nazwisko'];
  15. $id = $_SESSION['id'];
  16. $obrazek = htmlspecialchars(addslashes(strip_tags(trim($_POST["obrazek"]))), ENT_QUOTES);
  17. $tytul = htmlspecialchars(addslashes(strip_tags(trim($_POST["tytul"]))), ENT_QUOTES);
  18. $wstep = htmlspecialchars(addslashes(strip_tags(trim($_POST["wstep"]))), ENT_QUOTES);
  19. $trescmax = htmlspecialchars(addslashes(strip_tags(trim($_POST["editor1"]))), ENT_QUOTES);
  20. $html = strip_tags($trescmax, "<b> <a> <img> <font> <p> <span> <br>");
  21.  
  22. //sprawdzamy dane
  23. if (strlen($obrazek) < 1 or strlen($obrazek) > 25 ) {
  24. $blad++;
  25. echo '<span class="blad">Proszę podac link obrazka (do 100 znaków).</span>';
  26. }
  27. if (strlen($wstep) < 1 or strlen($wstep) > 50 ) {
  28. $blad++;
  29. echo '<span class="blad">Proszę wprowadzić poprawny wstep (do 50 znaków).</span>';
  30. }
  31. if (strlen($tytul) < 1 or strlen($tytul) > 25 ) {
  32. $blad++;
  33. echo '<span class="blad">Proszę wprowadzić poprawnie tytul (do 25 znaków).</span>';
  34. }
  35.  
  36. if ($blad == 0) {
  37. $wynik = mysql_query("INSERT INTO $tabela1 VALUES('', '$tytul', '$wstep', '$obrazek', '$id', '$imie', '$nazwisko', '$html', NOW())");
  38. if ($wynik)
  39. {
  40. echo '<h1><font color="green">Dodano artykół</font></h1>';
  41. header( "refresh:1;url=../../artykuly.php" );
  42. }
  43. }
  44. }


I dalej nie działa sad.gif w Mysql nie ma dalej znaczników sad.gif Czy ja w phpmyadmin nie widzę znaczników a jak odbiorę to będą?
zordon
ok, to bardziej dosłownie:
  1. $obrazek = htmlspecialchars(addslashes(strip_tags(trim($_POST["obrazek"]))), ENT_QUOTES);


pomijając całą resztę dziwnych działań, które wykonujesz na zmiennych z $_POST -> funkcja STRIP_TAGS WYCINA Ci TAGI ze zmiennej. Kliknąłeś w ogóle link do manuala, który poprzednio wstawiłem?
poli25
No to musisz wysłać bez jakiejkolwiek funckcji po prostu np: $tytul=$_POST['tytul'] no i juz
Johnas
Dzięki działa już winksmiley.jpg
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.