Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z wyświetlaniem textu z pliku :(
Forum PHP.pl > Forum > Przedszkole
Setesh
Witam ponownie sad.gif

Znowu nie wiem jak sobie z tym poradzić a problem pewnie łatwy do poprawienia sad.gif

Chcę zapisywać zawartość TEXTAREA do pliku (całość to co w TEXTAREA dokładnie ma być w pliku) problem w tym że nie wiem jak sobie poradzić ze znakami (\) bo co zapiszę informacje do pliku z linkami lub słowami w cudzysłowach to po wyświetleniu pokazuje mi zamiast (") to pokazuje (\") a za każdym dodatkowym zapisaniem o jeden znak (\) więcej np (\\\\\\") sad.gif

Może mi ktoś powiedzieć co się tu psuje i dlaczego ? sad.gif

mój kod :

  1. <?php
  2.  include("konfigurator_menu_konfigurator.php");
  3.  
  4.  echo WinToISO('<center>Wpisz w te pola co ma się wyświetlać w dziale "O Mnie".</center>');
  5.  $file = "konfigurator/o_mnie.php";
  6.  
  7.  if(strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') 
  8.  {
  9. echo "!Windows detected! ;-)";
  10.  }
  11.  
  12. // include($file); // główny plik z ustawieniami
  13. // $global_path=realpath(dirname(__FILE__));
  14.  $zapisz = trim($_GET['zapisz']);
  15.  switch($zapisz) 
  16.  {
  17. // wyswietlanie wpisow
  18. default:
  19.  
  20. ?>
  21. <form method="post" action="index.php?page=konfigurator&opcja=o_mnie&zapisz=true">
  22.  <table>
  23. <tr>
  24.  <td>
  25. <center>
  26.  <textarea name="o_mnie_info" cols="70" rows="30"><?php include($file); ?></TEXTAREA></td>
  27. </center> 
  28.  </td>
  29. </tr>
  30. <tr>
  31.  <td>
  32. <input type="submit" name="submit" value="Zapisz">
  33.  </td>
  34. </tr>
  35.  </table>
  36. </form>
  37. <?php
  38. break;
  39. // zapis wpisu
  40. case "true":
  41. echo "<br><center><font color=\"red\">Informacja zapisana</font></center>";
  42. $save = $_POST['o_mnie_info'];
  43. echo $o_mnie_info;
  44. $fp = fopen($file, "w");
  45. // komunikat w razie niepowodzenia
  46. if(!$fp) 
  47. {
  48.  echo "UWAGA!!!","Nie można otworzyć pliku ".$file." w trybie do zapisu!<br />Musisz nadać mu prawa chmod 666";
  49.  exit;
  50. }
  51. fwrite($fp, $save);
  52. fclose($fp);
  53. ?>
  54.  
  55. <form method="post" action="index.php?page=konfigurator&opcja=o_mnie&zapisz=true">
  56.  <table>
  57. <tr>
  58.  <td>
  59. <center>
  60.  <textarea name="o_mnie_info" cols="70" rows="30"><?php include($file); ?></TEXTAREA></td>
  61. </center> 
  62.  </td>
  63. </tr>
  64. <tr>
  65.  <td>
  66. <input type="submit" name="submit" value="Zapisz ponownie">
  67.  </td>
  68. </tr>
  69.  </table>
  70. </form>
  71. <?php
  72. break;
  73.  }
  74. ?>
  75. <?php echo $BottomKonfigTable; ?>


Niby wszystko jest fajnie bo zapisuje mi informacje do pliku ale przez te dodawane co chwile znaki (\) nie działają mi ani linki a do tego słowa w cudzysłowach dziwnie wyglądają sad.gif

Będę bardzo wdzięczny za pomoc sad.gif
kossa
Przy wyświetlaniu tekstu dodaj:
stripslashes" title="Zobacz w manualu PHP" target="_manual

Przy dodawaniu tekstu do pliku dodaj:
addslashes" title="Zobacz w manualu PHP" target="_manual


Łukasz
Setesh
Próbowałem na znane mi sposoby i coś nie daje rady z tym sad.gif

Może mi ktoś powiedzieć gdzie i jak źle używam powyższych funkcji ? Wydaje mi się że wg informacji z manuala dobrze robie sad.gif

kod :

  1. <?php
  2.  if(!isset($_SESSION["login"]))
  3.  {
  4. header("Location: index.php?page=zaloguj");
  5. exit();
  6.  }
  7.  
  8.  include("konfigurator_menu_konfigurator.php");
  9.  
  10.  echo WinToISO('<center>Wpisz w te pola co ma się wyświetlać w dziale "O Mnie".</center>');
  11.  $file = "konfigurator/o_mnie.php";
  12.  
  13.  if(strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') 
  14.  {
  15. echo "!Windows detected! ;-)";
  16.  }
  17.  
  18. // $global_path=realpath(dirname(__FILE__));
  19.  $zapisz = trim($_GET['zapisz']);
  20.  
  21.  switch($zapisz) 
  22.  {
  23. // wyswietlanie wpisow
  24. default:
  25. ?>
  26. <form method="post" action="index.php?page=konfigurator&opcja=o_mnie&zapisz=true">
  27.  <table>
  28. <tr>
  29.  <td>
  30. <center>
  31.  <textarea name="o_mnie_info" cols="70" rows="30"><?php stripslashes(include($file)); ?></TEXTAREA></td> // tu wyświetlam - pierwszy sposób
  32. </center> 
  33.  </td>
  34. </tr>
  35. <tr>
  36.  <td>
  37. <input type="submit" name="submit" value="Zapisz">
  38.  </td>
  39. </tr>
  40.  </table>
  41. </form>
  42. <?php
  43. break;
  44. // zapis wpisu
  45. case "true":
  46. echo "<br><center><font color=\"red\">Informacja zapisana</font></center>";
  47. $save = $_POST['o_mnie_info'];
  48. echo $o_mnie_info; // można wywalić potem
  49. $fp = fopen($file, "w");
  50. // komunikat w razie niepowodzenia
  51. if(!$fp) 
  52. {
  53.  echo "UWAGA!!!","Nie można otworzyć pliku ".$file." w trybie do zapisu!<br />Musisz nadać mu prawa chmod 666";
  54.  exit;
  55. }
  56. fwrite($fp, $save); //addslashes() - dodaje niepotrzebnie jeszcze więcej znaków więc chwilowo nie używam :(
  57. fclose($fp);
  58. ?>
  59.  
  60. <form method="post" action="index.php?page=konfigurator&opcja=o_mnie&zapisz=true">
  61.  <table>
  62. <tr>
  63.  <td>
  64. <center>
  65.  <textarea name="o_mnie_info" cols="70" rows="30"><?php include(stripslashes($file)); ?></TEXTAREA></td> // tu wyświetlam - drugi sposób
  66. </center> 
  67.  </td>
  68. </tr>
  69. <tr>
  70.  <td>
  71. <input type="submit" name="submit" value="Zapisz ponownie">
  72.  </td>
  73. </tr>
  74.  </table>
  75. </form>
  76. <?php
  77. break;
  78.  }
  79. ?>
  80. <?php echo $BottomKonfigTable; ?>


I co tu robie w końcu źle ?

// EDIT :

JUŻ MI DZIAŁĄ smile.gif Trochę na około ale działa smile.gif Jak ktoś zna lepszy pomysł będę wdzięczny za pomoc a jak ktoś potrzebuje to taka robotka jest tutaj :

  1. <?php
  2.  if(!isset($_SESSION["login"]))
  3.  {
  4. header("Location: index.php?page=zaloguj");
  5. exit();
  6.  }
  7.  
  8. function strips($string) 
  9. {
  10.  $string = str_replace("\", "", $string);
  11.  $string = str_replace("&#092;", "", $string);
  12.  $string = str_replace("\", "", $string);
  13.  $string = str_replace("&#092;", "", $string);
  14.  return $string;
  15. }
  16.  
  17.  include("konfigurator_menu_konfigurator.php");
  18.  
  19.  echo WinToISO('<center>Wpisz w te pola co ma się wyświetlać w dziale "O Mnie".</center>');
  20.  $file = "konfigurator/o_mnie.php";
  21.  
  22. //$id  = $_GET['id'] ;
  23. //$file = $id . '.txt' ; 
  24.  
  25. echo strips(file_get_contents ( $file ))."<br><br>I JAK ? :(<br><br>" ; 
  26.  
  27.  if(strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') 
  28.  {
  29. echo "!Windows detected! ;-)";
  30.  }
  31.  
  32. // $global_path=realpath(dirname(__FILE__));
  33.  $zapisz = trim($_GET['zapisz']);
  34.  
  35.  switch($zapisz) 
  36.  {
  37. // wyswietlanie wpisow
  38. default:
  39. ?>
  40. <form method="post" action="index.php?page=konfigurator&opcja=o_mnie&zapisz=true">
  41.  <table>
  42. <tr>
  43.  <td>
  44. <center><?php //strips(include($file)); ?>
  45.  <textarea name="o_mnie_info" cols="70" rows="30"><?php echo strips(file_get_contents($file )); ?></TEXTAREA></td>
  46. </center> 
  47.  </td>
  48. </tr>
  49. <tr>
  50.  <td>
  51. <input type="submit" name="submit" value="Zapisz">
  52.  </td>
  53. </tr>
  54.  </table>
  55. </form>
  56. <?php
  57. break;
  58. // zapis wpisu
  59. case "true":
  60. ?>
  61. <form method="post" action="index.php?page=konfigurator&opcja=o_mnie&zapisz=true">
  62.  <table>
  63. <tr>
  64.  <td>
  65. <center>
  66.  <textarea name="o_mnie_info" cols="70" rows="30"><?php $fileX = strips(file_get_contents($file)); echo $fileX; ?></TEXTAREA></td>
  67. </center> 
  68.  </td>
  69. </tr>
  70. <tr>
  71.  <td>
  72. <input type="submit" name="submit" value="Zapisz ponownie">
  73.  </td>
  74. </tr>
  75.  </table>
  76. </form>
  77. <?php
  78. echo "<br><center><font color=\"red\">Informacja zapisana</font></center>";
  79. //strips(file_get_contents ())
  80. //$save = $_POST['o_mnie_info'];
  81. $save = $_POST['o_mnie_info'];
  82.  
  83. //echo strips(file_get_contents($save)); // można wywalić potem
  84. $fp = fopen($file, "w");
  85. // komunikat w razie niepowodzenia
  86. if(!$fp) 
  87. {
  88.  echo "UWAGA!!!","Nie można otworzyć pliku ".$file." w trybie do zapisu!<br />Musisz nadać mu prawa chmod 666";
  89.  exit;
  90. }
  91. fwrite($fp, $fileX); //addslashes(
  92. fclose($fp);
  93. ?>
  94. <?php
  95. break;
  96.  }
  97. ?>
  98. <?php echo $BottomKonfigTable; ?>


Jeżeli ktoś zna lepsze rozwiązanie to będę wdzięczny za informację (np jak zastosować te powyższe funkcje bo nie udało mi się:() ale to co wyżej napisałem (funkcja zmieniająca znaki działa super smile.gif )

// EDIT 2 :

No dobra... nie działa najlepiej... sad.gif Nie zapisuje mi do pliki informacji z okienka tylko z pliku pobiera i zapisuje sad.gif

Gdzie robię błąd ? sad.gif
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.