Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z zapisem do pliku
Grimor
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.02.2007

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


Witam

Mam taki prosty "CMS'ik" jest w nim kod ktory includuje podstrony.
  1. <?  
  2. $id=$_GET["dzial"];
  3. if(!isset($id)) {
  4. include("news.php");
  5. }
  6. else {
  7. if(is_file("$dzial.php")) {
  8. include("$dzial.php");
  9. }
  10. else
  11. echo "
  12. <h2>Bład 404</h2>
  13. <p>Podana strona nie istnieje lub jest w trakcie budowy";
  14. }
  15. ?>


Skrypt dziala dobrze, ale zrobiel mw panelu admionistarcyjnym skrypt ktory pozwala mi edytowac podstrony np. kontakt.php, lecz gdy wpisuje do formularza dane caly tekst tam gdzie wcisne ENTER nie robi mi nowej lini, to chyba oczywsite wiec dalem
  1. <?php
  2. str_replace("n", "<br />", $tresc);
  3. ?>


Lecz to nie pomaga zamiast <br /> w kodzie nie pokazuje sie nic sad.gif

Ponizej skrypt edycji podstron:

  1. <?
  2. $edycja = $_POST['edycja'];
  3. $submita = $_POST['submita'];
  4. if (isset($edycja)) {
  5. $plik = fopen("../".$edycja.".php", "r+");
  6. $tresc = file_get_contents('../'.$edycja.'.php');
  7. $plike = $edycja;
  8. ?>
  9. <form method="post" action="admin.php?dzial=editpage">
  10. <textarea name="tresca" rows="20" cols="55"><? echo $tresc; ?></textarea>
  11. <input type="hidden" name="plika" value="<? echo $edycja; ?>">
  12. <input type="submit" name="submita" value="Edytuj">
  13. </form>
  14.  
  15. <?
  16. } else {
  17. $msg = "Wybierz strone do edycji";
  18. }
  19.  
  20. if (isset($submita)) {
  21. $plika = $_POST['plika'];
  22. $tresca = $_POST['tresca'];
  23. $terscb = ereg_replace("rn", "<br />", $tresca);
  24. $plik1 = fopen("../".$plika.".php", "w+");
  25. fwrite($plik1, $trescb);
  26. fclose($plik1);
  27. $msg = "Plik został pomyślnie edytowany";
  28. }
  29.  
  30. ?>
  31.  
  32. <form method="post" action="admin.php?dzial=editpage">
  33. <select name="edycja">
  34. <option value="biografia">Biografia</option>
  35. <option value="kontakt">Kontakt</option>
  36. <option value="galeriak">Galeria Katrynka</option>
  37. </select>
  38. <input type="submit" name="submit" value="Wybierz">
  39. </form>
  40. </br><? echo $msg; ?>
Go to the top of the page
+Quote Post
php programmer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 5
Dołączył: 8.11.2004
Skąd: trójmiasto

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


po pierwsze str_replace, nie zmienia wartości argumentu lecz zwraca wynik swojego działania
wiec powinno być
  1. <?php
  2. $tresc = str_replace("n", "<br />", $tresc);
  3. ?>


a gdyby by to jeszcze nie zadziałało, to daj

  1. <?php
  2. $tresc = str_replace(chr(13).chr(10), "<br />", $tresc);
  3. ?>


Ten post edytował php programmer 1.08.2007, 15:31:10
Go to the top of the page
+Quote Post
Grimor
post
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.02.2007

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


Niestety nie dziala zaden ze sposbow sad.gif mam w innym skrypcie takie cos:
  1. <?
  2. $tersca = str_replace("n", "<br />", $_POST['tresca']);
  3. ?>

tyle ze dane wysylane sa do bazy danych, a nie do pliku.

Byc moze jest przyczyna to ze jest to plik .php a nie .txt ?


UP

Zna ktos moze przyczyne mojego problemu questionmark.gif
Go to the top of the page
+Quote Post
John
post
Post #4





Grupa: Zarejestrowani
Postów: 107
Pomógł: 11
Dołączył: 1.08.2007
Skąd: Poland,Warsaw

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


  1. <?php
  2. $terscb = ereg_replace("rn", "<br />", $tresca);
  3. ?>


tak jak tu użyłeś tego, tak spróbuj i tam użyć ereg_replace.


--------------------
Odpowiedź na wszystko : manual,appendix. Ulubiona książka : PHP 5 for Dummies.
Studia uh ? ;-).
Go to the top of the page
+Quote Post
Grimor
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.02.2007

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


Uzywalem juz i takiej metody, niestety nie skutkuje sad.gif
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$tersca...$terscb....
mi sie wydaje ze ty potem takiej zmiennej nie uzywasz tongue.gif

pozatym czemu nie uzyjecie poprostu funkcji do tego stworzonej:
http://pl2.php.net/manual/pl/function.nl2br.php
?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Grimor
post
Post #7





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.02.2007

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


nospor, uzywalem takze tej funkcji, a te zmiennych juz nie ma smile.gif bo tylko prubowalem w taki sposob, teraz mam tak
  1. <?php
  2. if (isset($submita)) {
  3. $plika = $_POST['plika'];
  4. $tersca = str_replace("n", "<br />", $_POST['tresca']);
  5. $plik1 = fopen("../".$plika.".php", "w+");
  6. fwrite($plik1, $tresca);
  7. fclose($plik1);
  8. $msg = "Plik został pomyślnie edytowany";
  9. }
  10. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
a te zmiennych juz nie ma
rety, podaj jak na tacy to jeszcze nie zajarzy tongue.gif
Teraz masz tak:
$tersca
$tresca
czy te zmienne sa takie same? Nie! A uzywasz ich tak jakby byly takie same


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Grimor
post
Post #9





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.02.2007

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


Teraz mam tak jak podalem wyzej tylko $tresca, ktora pobiera z formularza z <textarea> tresc w ktorej ma zamienic nowe linie na <br /> chyba ten kod jest proprawny, a nl2br tez uzywalem i nie dzialalo, tekst zapisywalo w pliku tak jak w forularzu np.
asd
asd
asd
a, na stronie pokazuje mi: asd asd asd
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




czytajac tego posta nie jestem pewien czy zalapales wkoncu ze masz literowki w kodzie:
$tersca
$tresca
Jesli jednak juz to zalapales i poprawiles te literowki, to pokaz jeszcze raz kod juz poprawiony i tym razem z nl2br


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Grimor
post
Post #11





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 27.02.2007

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


omg, dzieki smile.gif az mi wstyd za mnie tongue.gif sory za klopot. Ale ze mnei debil ;p Dzieki jeszcze raz i pozdrawiam.

  1. <?php
  2. if (isset($submita)) {
  3. $plika = $_POST['plika'];
  4. $tresca = nl2br($_POST['tresca']);
  5. $plik1 = fopen("../".$plika.".php", "w+");
  6. fwrite($plik1, $tresca);
  7. fclose($plik1);
  8. $msg = "Plik został pomyślnie edytowany";
  9. }
  10. ?>

kod z nl2br ;p z str_replace tez juz dziala smile.gif

Ten post edytował Grimor 2.08.2007, 12:55:06
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: 20.08.2025 - 05:00