Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Polskie litery w skrypcie php
Forum PHP.pl > Forum > PHP
compl
Witam. Robię stronę z artykułami, więc żeby sobie ułatwić zrobiłem sobie taki kreator artykułów. Zrobiłem plik dodaj.php i w nim zamieściłem formularz, gdzie będą zamieszczane informacje typu nazwa artykułu, treść itp. Zrobiłem formularz który wysyła dane do pliku nazwaskryptu.php (sory za dziwną nazwę) I tam skorzystałem z funkcji php, która tworzy plik i zapisuje w nim dane . (czyli informacje z formularza i inne dane które w każdym artykule są niezmienne). Wszystko ładnie działa, lecz nie ma polskich liter. Jak mogę to naprawić? Tu skrypt:

dodaj.php
  1. <html>
  2. <head>
  3. <title>Formularz HTML</title>
  4. </head>
  5. <body>
  6. <form method="post" action="nazwaskryptu.php">
  7. Podaj nazwe pliku z rozszerzeniem (.php): <input type="text" name="nazwapliku"/><br/>
  8. <input type="text" name="tytulstrony" value="Podaj tytul strony (to co będzie w belce)"style="width: 500px; ><br/>
  9. Podaj krotki opis : <input type="text" name="opis"/><br/>
  10. Podaj tytul artykulu: <input type="text" name="tytul"/><br/>
  11. <input type="text" name="tresc" style="width: 800px; height: 800px" value="Podaj tresc artykulu:"/><br/>
  12. Podaj link na forum: <input type="text" name="link"/><br/>
  13. Podaj opis linka na forum: <input type="text" name="opislinka"/><br/>
  14.  
  15. <input type="submit" value="Wyslij"/>
  16. </form>
  17. </body>
  18. </html>



nazwaskryptu.php
  1. <?php
  2.  
  3. echo 'Plik został zapisany pomyslnie';
  4.  
  5.  
  6. ?>
  7.  
  8.  
  9.  
  10. <?php
  11. file_put_contents(''.$_POST['nazwapliku'].'', '<?php
  12. $tytul=\''.$_POST['tytulstrony'].'\';
  13. $opis=\''.$_POST['opis'].'\';
  14.  
  15. include(\'../naglowekart.php\');
  16. include(\'../menu1art.php\');
  17. include(\'../menu2art.php\');
  18. include(\'../galeriaart.php\');
  19. ?>
  20. <div id="tytulart"><img style="float:left;" src="../img/lewo.jpg"><img style="float:right;" src="../img/prawo.jpg"><h1 style="color:white">
  21. '.$_POST['tytul'].'
  22. </h1></div>
  23.  
  24. <div id="artykul">
  25.  
  26. '.$_POST['tresc'].'
  27. <br />
  28. <br /><br />
  29. <img src="http://a.imageshack.us/img185/9846/80828963.png" alt="" />Porozmawiaj z nami na forum na forum:
  30. <ul>
  31. <li><a style="color:white; text-decoration:none;" href="'.$_POST['link'].'
  32. ">'.$_POST['opislinka'].'</a></li>
  33. </ul>
  34.  
  35.  
  36. </div>
  37. <?php
  38. include(\'../stopka.php\');
  39.  
  40.  
  41.  
  42. ?>
  43.  

IceManSpy
1. Co znaczy "nie ma polskich znaków" , zjadło jest, czy tylko obgryzło?
2. W pliku dodaj.php nie ma ustawionego kodowania.
markonix
Nie ma polskich liter czyli znikają? Raczej krzaczki.

Nie widzę w nagłówku w ogóle deklaracji kodowania.


@up hahaha, mam brata bliźniaka. biggrin.gif
lord2105
podczas zapisywania plikow w edytorze musisz miec ustawione kodowanie ISO-8859-2 w header html tez ISO-8859-2
toaspzoo
W head'ie dodaj:

<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-2" />


compl
Krzaczków nie mam, tylko kwadraciki. Kodowanie zmienię i zobaczymy. Tak przy okazji. Gdy robię duże pole tekstowe (np. height:800px) do formularza to gdy chcę coś w nim wpisać to kursor mam w środku pola, a chciałbym mieć na początku.
IceManSpy
Czemu na taki ISO? Ostaw na UTF-8 , będzie bardziej uniwersalnie. Należy jednak pamiętać, aby zapisać plik także w UTF-8.
Mephistofeles
Dodajmy, że w UTF-8 bez BOM.
compl
Nie działa. DOdaje ten metatagi do dodaj.php i nic. Dalej są kwadraty zamiast polskich liter.
gigzorr
otworz ten plik np. notepadem++ i zobacz jakie masz kodowanie(format->utf-8 bez bom).

a z tym drugim to jesli masz pole obrazkowe to paddingi.

btw. masz blad:
tutaj->
  1. <input type="text" name="tytulstrony" value="Podaj tytul strony (to co będzie w belce)"style="width: 500px;><br/>

zamień na:
  1. <input type="text" name="tytulstrony" value="Podaj tytul strony (to co będzie w belce)"style="width: 500px;"/><br/>


jeszcze to:
  1. header ('Content-type: text/html; charset=utf-8');

możesz dodać w skrypcie nazwaskryptu.php na górze.

ps. na górze dokumentu nie ma kodowania ustalonego.
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.