Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][PHP]ckeditor do stylu dodaje dodatkowe znaki
Forum PHP.pl > Forum > Przedszkole
Beast_Metal
Witam serdecznie, planowałem zrobić edytor strony przez WWW z wbudowanym edytorem WYSIWYG, początkowy etap udał się ale...podczas edycji treści jakiegoś pliku WWW edytor (teraz już ckeditor, a wcześniej TinyMCE), dodaje do tworzonego przez siebie stylu dodatkowe znaki ( \" ). Poniżej przedstawiam działający kod i efekt wynikowy:

plik index.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Panel administracyjny</title>
  6.  
  7. <script type="text/javascript" src="ckeditor/ckeditor.js"></script>
  8.  
  9. </head>
  10.  
  11. <body>
  12.  
  13. <form method="post" action="zmiany.php">
  14. <textarea name="dane" cols="70" rows="25"><?php include("baza.php")?></textarea>
  15. <br>
  16. <input type="submit" value="Zapisz">
  17. </form>
  18.  
  19.  
  20. <script type="text/javascript">
  21. CKEDITOR.replace( 'dane' );
  22. </script>
  23.  
  24. </body>
  25. </html>


plik zmiany.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. $dane = $_POST['dane'];
  11. $file = "baza.php";
  12. $fp = fopen($file, "w");
  13. fwrite($fp, $dane);
  14. fclose($fp);
  15. ?>
  16. <br/>
  17. <form method="post" action="index.php">
  18. <input type="submit" value="Powrót do edycji" />
  19. </form>
  20. </body>
  21. </html>


efekt wynikowy strony z dodanym tekstem i próbą wycentrowania go:
  1. <div style=\"text-align: center; \">
  2.  
  3. To jest przykładowy tekst...</div>


Początkowo myślałem, że to wina edytora, ale implementowałem już TinyMCE oraz ckeditor, przy jednym i drugim występuje ten sam błąd. Później w internecie znalazłem też inny kod, który wykonuje to samo co mój, ale tak czy siak dalej dodawane są dodatkowe znaki. Nie wiem skąd i dlaczego się pojawiają...spotkał się może już ktoś z takim problemem ?

Pozdrawiam
toaspzoo
DELETE <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Beast_Metal
Usunięcie wskazanej linijki nic nie dało...nadal ten sam błąd :/ pozostawienie gołego szablony dla zwykłego pliku HTML też nic nie daje. Sprawdzałem na kilku przeglądarkach i dalej to samo :/
morbic
Czy magic_quotes_gpc jest na serwerze wyłączone? Zerknij w phpinfo()

Właściwy DOCTYPE raczej powinien w dokumencie być, jeśli jest dobrze dobrany. A już na pewno nie ma nic wspólnego z dopisywaniem przez serwer backslashy do danych przesyłanych przez formularz.
Beast_Metal
magic_quotes_gpc jest włączony
morbic
I mamy przyczynę problemu.

Jeśli masz dostęp do php.ini, zmień na off.

Jeśli nie, spróbuj sam:
1) Wrzucając plik o nazwie .htaccess do głównego katalogu z następującą treścią:
Kod
php_value magic_quotes_gpc 0


2) Dodając na samym początku skryptu, zaraz po <?php :
Kod
ini_set('magic_quotes_gpc', 0);


Jeżeli żaden z tych dwóch sposobów nie zadziała, skontaktuj się ze swoją firmą hostingową i poproś o wyłączenie tego ustawienia. Ale pamiętaj, że po wyłączeniu tego przetwarzając jakiekolwiek dane z formularzy inne niż kod HTML, trzeba je odpowiednio sprawdzić i zabezpieczyć.
Beast_Metal
Miałem możliwość zmienić sam tę opcję na serwerze, wielkie dzięki za pomoc...Wątek uważam za zamknięty.

P.S.

Dodatkowo jeśli ktoś nie będzie miał możliwości zmiany ustawień na serwerze to działa na 100% opcja 1)... 2) u mnie nie zadziałała.
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.