Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Mały problem z odzczytaniem pliku txt
Forum PHP.pl > Forum > Przedszkole
qba10
Skrypt wczytujący inpormacje z pliku tekstowego:
  1. <?php
  2.  
  3. $dane = array_reverse(file ("db.txt")); 
  4.  
  5. for($i=0;$i<count($dane);$i++) { 
  6. list($imie[$i], $nazwisko[$i], $miejscowosc[$i]) = explode(" || ", $dane[$i]);
  7.  
  8. }
  9.  
  10. for($i=0;$i<count($imie);$i++) 
  11. {
  12. echo '<br />
  13. <table>
  14. <tr>
  15. <td class="download">
  16.  <table>
  17.  <tr><td class="news2" ><img src="' . $imie[$i] . '" alt="linia" /></td><td>' .$nazwisko[$i]. '</td> </tr>
  18.  </table>
  19.  <table>
  20.  <tr><td class="news2" colspan="2">' . $miejscowosc[$i] . '</td></tr>
  21. </table>
  22. </td>
  23. </tr>
  24. </table>
  25. ';
  26. }
  27.  
  28. ?>

Skrypt zapisujący informacje do pliku:
  1. <?php
  2. if ($_POST['button'] == "wyslij") {
  3.  
  4. $plik = "db.txt";
  5. if (is_writeable($plik)) {
  6. if (!$handle = fopen($plik, "a")) echo "Nie mogę otworzyć pliku...";
  7. if (fwrite($handle, $_POST['imie']." || ".$_POST['nazwisko']." || ".$_POST['miejscowosc']."
  8. ") === FALSE) echo "Nie mogę zapisać danych do pliku...";
  9. else echo "Dane zostały dodane...";
  10. fclose($handle);
  11.  
  12.  
  13. } else echo "Plik nie istnieje lub jest nie do zapisu...";
  14. }
  15. ?>
  16.  
  17. <center>
  18. <form action="panel_administracyjny.php" method="post">
  19. Adres grafiki: <input type="text" name="imie" /><br />
  20. Tytuł newsa: <input type="text" name="nazwisko" /><br />
  21. Dodał: <input type="text" name="dodal" /> <br /><br /> <br />
  22. Tresc newsa: <br /><textarea name="miejscowosc" cols="60" rows="30" > </textarea>
  23. <br />
  24. <input type="submit" name="button" value="wyslij" />
  25. </form>
  26. </center>

Problem tkwi w tym , ze jezeli wpisze wiecej niz jedna linijke w pole tekstowe
  1. <textarea name="miejscowosc" cols="60" rows="30" > </textarea>
to skrypt który wyswietla informacje z pliku bedzie je niepoprawnie wyswietlał. Jak temu zaradzic?
tommy4
tzn. jak niepoprawnie wyświetlał? explode źle dzieli, czy chcesz użyć nl2br()?

zamiast " || " radziłbym dać jakiś chr(x); z poza ludzkiej klawiatury czyli < 32.
qba10
Gdy w pisze wiecej niz jedna linijke w <textare> to mi sie nastepny wers pokazuje w kolejne (juz drugiej) tabeli
  1. <? echo '<br />
  2. <table>
  3. <tr>
  4. <td class="download">
  5.  <table>
  6.  <tr><td class="news2" ><img src="' . $imie[$i] . ' " alt="linia" /></td><td>' .$nazwisko[$i]. '</td> </tr>
  7.  </table>
  8.  <table>
  9.  <tr><td class="news2" colspan="2">' . $miejscowosc[$i] . '</td></tr>
  10. </table>
  11. </td>
  12. </tr>
  13. </table>
  14.  ';
  15. } ?>
jak temu zaradzic? questionmark.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.