Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Usuwanie wiersza z pliku .txt
tomtolo
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 30.12.2014

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


Witajcie.
Posiadam dwa pliki z kodem PHP, które służą mi jako lista zapisów na grupowe zajęcia sportowe.

1. Pierwszy z nich index.php (służy jako formularz do zapisu uczestnika):

  1. <div align="center">
  2. <?php
  3. /*********************************************
  4.   * plik formularz.php
  5.   *********************************************/
  6.  
  7. $pole1 = trim($_POST['pole1']);
  8. $pole2 = trim($_POST['pole2']);
  9. $data = date("d-m H:i");
  10.  
  11. if(empty($pole1) and empty($pole2)) {
  12.  
  13. // prosty formularz zawierający dwa pola
  14. echo '<div align="center"><div class="top">&nbsp;</div><br>
  15. <h2>Dodaj wpis na <span class="red">Niedzielę</span> 18<sup>00</sup> - 19<sup>30</sup></h2>
  16.  
  17.  
  18. <div align="center" style="text-align:center;font-weight:bold;"><form action="" method="post">
  19. Imię: <br><input type="text" name="pole1" style="" /><br />
  20. Będziesz? <br><input name="pole2" value="tak">
  21. </textarea><br />
  22. <input type="submit" value="Dodaj" class="but"/>
  23. </form><br></div><div align="center"> <p class=\'buton1\'><a href="podglad.php">Lista zapisów</a></p></div><br><br>
  24. ';
  25. }
  26. else {
  27.  
  28. // dane pochodzące z formularza
  29. $dane = $pole1."`".$pole2."`".$data."\n";
  30. // przypisanie zmniennej $file nazwy pliku
  31. $file = "baza.txt";
  32. // uchwyt pliku, otwarcie do dopisania
  33. $fp = fopen($file, "a");
  34. // blokada pliku do zapisu
  35. flock($fp, 2);
  36. // zapisanie danych do pliku
  37. fwrite($fp, $dane);
  38. // odblokowanie pliku
  39. flock($fp, 3);
  40. // zamknięcie pliku
  41. fclose($fp);
  42.  
  43. echo "<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><b>Zapisujemy Cię na listę!</b><br /><br />";
  44. echo "<p><img src=images/preloader.gif></p>";
  45. //echo "<p class=\'buton1\'><a href=\"podglad.php\">Zobacz wyniki &raquo;</a></p>";
  46.  
  47.  
  48. //echo "<script>window.location = 'podglad.php'</script>";
  49. echo "<script>setTimeout('window.location.href=\"podglad.php\"', 2000)</script>";
  50. }
  51. ?>
  52. </div>



2. Drugi z nich podglad.php (wyświetla wyniki/listę zapisów):

  1. <h2>Lista wpisów na <span class="red">Niedzielę</span>
  2. </h2>
  3. godz. <b>18.00 - 19.30</b> <br>
  4. <br>
  5.  
  6. <?php
  7. /*********************************************
  8.   * plik podglad.php
  9.   *********************************************/
  10.  
  11. // wczytanie zawartości pliku do tablicy
  12. $file = file("baza.txt");
  13. // czytamy zawartość
  14. $tekst = file_get_contents("baza.txt");
  15. // przechodzimy przez tablicę za pomocą pętli foreach
  16. foreach($file as $value) {
  17. // rozbijamy poszczególne linie na części
  18. $exp = explode("`",$value);
  19. // wyświetlamy rozbity tekst
  20. echo "<b>".$exp[0].":</b> ".$exp[1]." <font style='font-family:tahoma;font-size:11px;color:#777;'>(dodał: ".$exp[2].")</font><hr />";}
  21. ?>
  22. <br>
  23. <br>Liczba wpisów na "<b>tak</b>":
  24. <b class="ziel">
  25. <?php
  26. echo substr_count ($tekst,"tak");
  27. ?>
  28. </b>
  29. <br>
  30. <p class="buton1"><a href="index.php">Dodaj kolejny wpis</a></p>
  31.  


3. Trzeci to plik tekstowy baza.txt, który przechowuje dane:

  1. Maks`tak`22-12 20:43
  2. Tomek`tak`25-12 15:28


Cel: Moim celem jest aby dodać kod, który będzie umieszczał się w każdym wierszu na końcu i pozwoli na jego usunięcie (tego konkretnego wiersza z pliku baza.txt):

  1. Maks`tak`22-12 20:43 Usuń
  2. Tomek`tak`25-12 15:28 Usuń



Tutaj jest podgląd działania skryptu.
Będę wdzięczny za wszelką pomoc...

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tomtolo
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 30.12.2014

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


Witaj fate,
dzięki za pomoc.

Moj kod podglad.php po zmianie:

  1. <?php
  2. /*********************************************
  3. * plik podglad.php
  4. *********************************************/
  5.  
  6. // wczytanie zawartości pliku do tablicy
  7. $file = file("baza1.txt");
  8. // czytamy zawartość
  9. $tekst = file_get_contents("baza1.txt");
  10. // przechodzimy przez tablicę za pomocą pętli foreach
  11. $i=0;
  12. foreach($file as $value) {
  13. // rozbijamy poszczególne linie na części
  14. $exp = explode("`",$value);
  15. // wyświetlamy rozbity tekst
  16. echo '<b>'.$exp[0].':</b> '.$exp[1].' <span style="font-family:tahoma;font-size:11px;color:#777;">(dodał: '.$exp[2].')</span>
  17. <span style="color:red"><a href="usuwanie.php?line=$i">del</a></span><hr/>';
  18. i++;
  19. }
  20. ?>


daje error:
Parse error: syntax error, unexpected T_INC in ../podglad.php on line 47

linia 47 to: i++;

A plik usuwanie.php:

  1. <?php
  2. if(isset($_GET['line'])
  3. {
  4. $todel=$_GET['line'];
  5. $file = file("baza.txt");
  6. unset($file[$todel]);
  7. file_put_contents('baza.txt',$file);
  8. echo 'Usunięto wiersz nr :'.$_GET['line']+1;
  9. }
  10. ?>


daje error:
Parse error: syntax error, unexpected '{' in ../usuwanie.php on line 3

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: 6.10.2025 - 07:24