Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Kodowanie przy zapisywaniu do pliku, Jak zapisać treść pola formularza bez utraty polskich znaków i tagów
cioop
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 0
Dołączył: 24.01.2007

Ostrzeżenie: (0%)
-----


Witam mam pytanie,
chciałbym zrobić formularz do edycji treści wstawianej w szablon, ale mam problem z tym, zeby zapisać do pliku treść z pola tekstowego z formularza, w taki sposób, aby nie utracić kodowania (UTF) i znaków html.
  1. if($_POST['content'] && $_POST['sent']){
  2. $content = $_POST['content'];
  3. $fp = fopen($file, "r") or die("Couldn't open $file for writing!");
  4. $format = utf8_encode($content);
  5. file_put_contents($file, $format) or die("Couldn't write values to file!");
  6. fclose($fp);
  7. }

Próbowałem powyższego kodu, jak i htmlentities(), ale za każdym razem zapisują mi się krzaki albo w tagach html mam dodatkowe znaki '\', '/' i kod nie wyświetla się poprawnie.
Generalnie chciałbym osiagnąć taki efekt, jak pole edycji szablonu w Wordpressie.

Z góry dziekuję i pozdrawiam
Go to the top of the page
+Quote Post
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


  1. if($_POST['content'] && $_POST['sent']) {
  2. $content = $_POST['content'];
  3. // Poniższa linijka nie ma zupełnie sensu... nie potrzebnie otwierasz łącze do pliku i to w trybie odczytu a piszesz o zapisie...
  4. $fp = fopen($file, "r") or die("Couldn't open $file for writing!");
  5. // Czy to na pewno jest potrzebne?
  6. $format = utf8_encode($content);
  7. file_put_contents($file, $format) or die("Couldn't write values to file!");
  8. // Zbędne
  9. fclose($fp);
  10. }


Ja bym to widział tak:

  1. if($_POST['content'] && $_POST['sent']) {
  2. $content = $_POST['content'];
  3. is_writable($file) or die("Couldn't open $file for writing!");
  4. file_put_contents($file, $content) or die("Couldn't write values to file!");
  5. }


--------------------
If you're good at something, never do it for free.
Potrzebujesz skryptu JS lub PHP - szukasz kogoś kto przetestuje twoją aplikację pod względem bezpieczeństwa? Szybko i solidnie? Napisz ;)
Mój blog - Jak zwiększyć wydajność front-endu - O buforowaniu wyjścia w PHP słów kilka...
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #3





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Czy mogę wiedzieć - na sączące rany chrystusa - po co to wszystko?

Ustawiasz kodowanie formularza i po kłopocie, zero dodatkowego przetwarzania po stronie serwera.

  1. <form action="" method="post" accept-charset="utf-8">
Go to the top of the page
+Quote Post
--cioop--
post
Post #4





Goście







ok, udało mi się zachować kodowanie znaków, ale jak zachować tagi html? W tej chwili to co mi się zapisuje wygląda tak:
  1. <div class=\"lead\">
Go to the top of the page
+Quote Post
-Gość-
post
Post #5





Goście







htmlspecialchars
Go to the top of the page
+Quote Post
joseam
post
Post #6





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 24.01.2012
Skąd: Madrid

Ostrzeżenie: (0%)
-----


htmlspecialchars dekoduje znaczki, ale backslashe zostawia niestety w tych samych miejscach, gdzie miały znajdywać się nasze cudzysłowia (")
Jak zrobić, zeby podczas zapisywania do pliku z textarea zapisywało dokładnie to, co tam napisałem, ale jak ja napiszę tam:
$zmienna = "tekst";
to po zapisaniu do pliku zamienia mi na $zmienna = \"tekst\";
Jak pozbyć się tych ukośników?
Przeszukałem czeluści internetu i nikt nic o tym nie pisze, albo ja złe zapytanie w google używam sad.gif

Ten post edytował joseam 1.04.2013, 11:45:41
Go to the top of the page
+Quote Post
jaslanin
post
Post #7





Grupa: Zarejestrowani
Postów: 511
Pomógł: 143
Dołączył: 13.03.2010
Skąd: Jasło

Ostrzeżenie: (0%)
-----


masz włączone magic_quotes_gpc? jeżeli tak to je wyłącz

ewentualnie spróbuj przed zapisem: http://php.net/manual/en/function.stripslashes.php


--------------------
Good luck and happy PHP'ing
Go to the top of the page
+Quote Post
joseam
post
Post #8





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 24.01.2012
Skąd: Madrid

Ostrzeżenie: (0%)
-----


Dzieki bardzo! Działa stripslashes smile.gif o to mi chodziło, tylko nie wiedziałem, jak to się nazywa, ale wiedziałem, że istnieje hehe
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 02:16