Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Edycja postów zapisanych w .txt
ZeTu
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

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


Witam
Mam wykonany skrypt do tworzenia i edycji postów i mam pewien problem. Mianowicie kod do edycji postów nie edytuje prawidłowo treści, nie umiem tego za bardzo wyjaśnić, ale na przykładzie to wyjaśnię.
A to kod edycji postów:
  1. ...
  2. $aid = $_GET['edytuj3'];
  3. if(!empty($aid)) {
  4. if(is_file('$aid')) include '$aid';
  5. else
  6.  
  7. echo '
  8. <br><b><br>Edycja strony</b>';
  9. $ide = $aid - 1;
  10. $tytul=chop($_POST["tytul"]);
  11. $tresc=chop($_POST["tresc"]);
  12. $folder = "$pliczek";
  13. $file=file("$folder");
  14. $dane=explode(" | ", $file[$ide]);
  15. $zero=$dane[0];
  16. $name=$dane[1];
  17. $link=$dane[2];
  18. $enter=$dane[3];
  19. $text = $plik1;
  20. $ad1 = $link;
  21. $ad2 = '$tresc';
  22. $be1 = $name;
  23. $be2 = '$tytul';
  24.  
  25. $plik = fopen("$folder", "r");
  26. $plik1 = fread($plik, 10240);
  27.  
  28.  
  29. $be1 = str_replace("+", " ", $be1);
  30. $ad1 = str_replace("+", " ", $ad1);
  31. $ad1 = str_replace("<br>", "
  32. ", $ad1);
  33.  
  34.  
  35. if ($_POST["Edycja3"]!="")
  36. {
  37. $ide = $aid - 1;
  38. $tytul=chop($_POST["tytul"]);
  39. $tresc=chop($_POST["tresc"]);
  40. $folder = "$pliczek";
  41. $file=file("$folder");
  42. $dane3=explode("", $file[0]);
  43. $ze=$dane3[0];
  44. $dane=explode(" | ", $file[$ide]);
  45. $zero=$dane[0];
  46. $name=$dane[1];
  47. $link=$dane[2];
  48. $enter=$dane[3];
  49. $enter = '
  50. ';
  51. $text = $plik1;
  52. $ad1 = $link;
  53. $ad2 = chop($_POST["tresc"]);
  54. $be1 = $name;
  55. $be2 = chop($_POST["tytul"]);
  56.  
  57. $plik = fopen("$folder", "r");
  58. $plik1 = fread($plik, 10240);
  59.  
  60. $ad2 = str_replace(" ", "+", $ad2);
  61. $be2 = str_replace(" ", "+", $be2);
  62.  
  63. $text = str_replace("$ad1", "$ad2", $text);
  64. $text = str_replace("$be1", "$be2", $text);
  65.  
  66.  
  67. file_put_contents($folder, $text);
  68. fclose($plik);
  69. echo("<br><br>Zapisano zmiany<br><a href='?panele=lista'>Zobacz efekt</a>");
  70. }
  71. else
  72. {
  73. echo <<<KONIEC
  74. <form method="POST" action="">
  75. <table>
  76. <p>
  77. <tr><td>Tytuł:</td><td><input type="text" name="tytul" size=20 value="$be1"></td> </tr>
  78. <tr><td>Treść:</td><td><textarea name="tresc" cols="25" rows="12">$ad1</textarea>
  79. </td> </tr>
  80. </p>
  81. <tr><td></td>
  82. <td><input type="submit" value="Zapisz zmiany" name="Edycja3"></td></tr>
  83. </table></form>
  84. KONIEC;
  85. }
  86. }
  87. ...

A to kod w .txt który jest przed edycją:
  1. tytul | tresc+mojego+posta
  2. tytul 2 | tresc+mojego+posta+22

I jeśli chcę zmienić tytul w pierwszej linii, to kod pobiera ta linie i wpisuje w formularz, po zmianie danych np. z "tytul" na "tytul2", to zamiast edytować w tej pobranej linii edytuje w całym pliku to słowo i wtedy kod wygląda tak:
  1. tytul2 | tresc+mojego+posta
  2. tytul2 2 | tresc+mojego+posta+22

A więc jak zrobić aby edytowało tylko z wybranej linii? Trochę pomieszałem w kodzie, ale mam nadzieję, że ktoś z was pomoże mi ten kod jakoś prawidłowo zedytować.
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: 24.12.2025 - 14:50