Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z zapisem tekstu, zapis treści z textarea
rausman
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 9.09.2012

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


Witam problem wygląda następująco:
Na stronie dodaj.php, która jest w folderze głównym czyli public_html mam skrypt do umieszczania artykułów. Na stronie wybieramy sobie przykładowy folder z formularza (opcje wygladaja mniej wiecej tak: /_data/ogrodnictwo/botanika/), w którym chcemy zapisać artykuł i podajemy tytuł. Oczywiscie po wcisnieciu submit buttona tworzy sie sciezka ($_SERVER['DOCUMENT_ROOT'].$folder.$tytul.".php") próbowałem ją umieszcać też w pętli ale nie miało to żadnego wplywu na zapisywanie. Po wcisnieciu buttona wyskakuje mi echo z poprawną ścieżką. W CKeditorze wczytuję się plik, a nawet tworzy jeżeli go nie ma. Problem zaczyna się przy zapisywaniu. Po wciśnięciu submit buttona tak jak by przeskakiwało całą pętlę i niezapisywało treści. Umieszczałem echa i jakieś pauzy w pętli żeby sprawdzić czy dobrze działa ale nic się nie wyświetlało po wciśnieciu. Pliki są w chmod 0777 (umieszczałem komende w kodzie ale zadnego rezulatu nie uzyskałem) probowalem tez na 755 i foldery również - nie było żadnego problemu z dostępem.
Umieszczałem 2 pętlę if(isset()) poza główną pętlą, a nawet w tej pierwszej - bez rezultatu. Usuwałem apostrofy ze zmiennej $path - bez rezultatu. Zmieniałem fwrite na fputs - bez rezultatu. Zmieniałem przypisanie .= na = - bez rezultatu. Skrypt działa jeżeli poda się ręcznie do fwrite lub fputs ścieżke z plikiem np /_data/oogrodnictwo/botanika/dokumenttekstowy.php". Nie wiem o co chodzi. Jeżeli chodzi o ckeditora to wszystkie ustawienia są prawie pierwotne.
Podejrzewam ze sciezka nie jest do konca stringiem :/

Poniżej przedstawiam kod dodaj.php

  1. <?php
  2. ?>
  3.  
  4. <?php include $_SERVER['DOCUMENT_ROOT'].'/head.php'; ?>
  5. <?php include $_SERVER['DOCUMENT_ROOT'].'/sessionreg.php'?>
  6. <?php $path="";?>
  7.  
  8.  
  9. <form action="<? $_SERVER['PHP_SELF']; ?>" method="post">
  10. <table>
  11. <tr><td>Wybierz folder</td>
  12. <td>
  13. <select name="folder" value="folder">
  14. <option>/_data/ogrodnictwo/botanika/</option>
  15. <option>/_data/ogrodnictwo/rozdobne/</option>
  16. <option>/_data/ogrodnictwo/przedmioty/</option>
  17. <option>/_data/ogrodnictwo/sadownictwo/</option>
  18. </select>
  19. </td>
  20. </tr>
  21. <tr> <td class="title">Wpisz tytuł strony:</td>
  22. <td class="info"><input type="text" name="tytul" value="tytul"></td>
  23. </tr>
  24. <tr>
  25. <td>
  26. <input type="submit" name="wyslij" value="wyslij" />
  27. </td>
  28. </tr>
  29. </table>
  30. </form>
  31.  
  32. <?php $title = $_POST['tytul'].'.php'; $path = $_SERVER['DOCUMENT_ROOT'].$_POST['folder'].$title;?>
  33. <?php
  34. if(isset($_POST['wyslij']))
  35. {
  36.  
  37. $title = $_POST['tytul'].'.php';
  38. $path = $_SERVER['DOCUMENT_ROOT'].$_POST['folder'].$title; //<-drugie powtorzenie na wszelki wypadek
  39. echo $path; //<-dobrze wyswietla sciezke i wczytuje plik do ckeditora
  40. echo '<form method="post">';
  41.  
  42. // wyczyszczenie zmiennej
  43. $stareDane = "";
  44. // otwarcie pliku do odczytu
  45. $fp = fopen("$path" , "a+") or die("nie można odczytać pliku $path");
  46.  
  47. //odczytanie danych
  48. $stareDane = fread($fp, filesize($path));
  49.  
  50. // zamknięcie pliku
  51. fclose($fp);
  52.  
  53.  
  54. echo '<textarea class="ckeditor" name="editor1" value="editor1">'.$stareDane.'</textarea>';
  55. echo '<p><input type="submit" name="zapisz" value="zapisz" /></p></form>';
  56.  
  57. if(isset($_POST['zapisz'])) //<-tutaj cos dziwnego dzieje sie ze skryptem
  58. {
  59. if(is_file($path))
  60. {
  61. $noweDane = $_POST['editor1'];
  62. // otwarcie pliku do zapisu
  63. $fp = fopen("$path", "w+") or die("nie można otworzyć pliku $path do zapisu");
  64. // zapisanie danych
  65. fwrite($fp, $noweDane);
  66. echo "ZAPISANO";
  67. echo $noweDane; //<-sprawdzenie czy cos sie wsywietli dowod na to ze petla sie wykonala
  68. // zamknięcie pliku
  69. fclose($fp);
  70. }else{echo"<p>jakiś błąd</p>";}
  71. }
  72. }
  73. ?>
  74.  
  75. <?php include $_SERVER['DOCUMENT_ROOT'].'/foot.php'; ?>
  76. <?php
  77. ?>



a tutaj urywek z usuniętymi niektórymi meta tak żeby pokazać tylko skrypty ktore umiescilem w head.php
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  4.  
  5. <head>
  6. <title>internetowyogrod.pl - Wszystko o ogrodach</title>
  7. <meta name="Description" content="Strona o Ogrodnictwie" />
  8. <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  9. <script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
  10. <script type="text/javascript" src="/ckeditor/adapters/jquery.js"></script>
  11. </head>
  12. <body>


Ten post edytował rausman 10.09.2012, 09:26:01
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 25.12.2025 - 03:28