Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Problem z wyświetlaniem textu z pliku :(
Setesh
post
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

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


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


--------------------
Znudził Ci się wygląd twojej v39'ki ? Zmień to! :)

| Google | CodeGear | Swiss Delphi Center (ENG) | digitalmars.com | 4programmers.net | dsdt.info | BinBoy | delphi.cartall.com.pl | CPW.net.pl | cyfbar.republika.pl|
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kossa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


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


--------------------
Go to the top of the page
+Quote Post
Setesh
post
Post #3





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 2.10.2006
Skąd: Wrocław

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


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

Ten post edytował Setesh 3.10.2007, 15:13:30


--------------------
Znudził Ci się wygląd twojej v39'ki ? Zmień to! :)

| Google | CodeGear | Swiss Delphi Center (ENG) | digitalmars.com | 4programmers.net | dsdt.info | BinBoy | delphi.cartall.com.pl | CPW.net.pl | cyfbar.republika.pl|
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: 21.08.2025 - 19:24