Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> operacja na plikach textowych
integer000
post
Post #1





Grupa: Zarejestrowani
Postów: 129
Pomógł: 0
Dołączył: 24.09.2005

Ostrzeżenie: (30%)
XX---


mam taki skrypt:

  1. <?php
  2.  
  3. $pole1 = trim($_POST['pole1']);
  4. $pole2 = trim($_POST['pole2']);
  5.  
  6. if(empty($pole1) and empty($pole2)) {
  7.  
  8. // formularz
  9. echo '<form action="" method="post">
  10. link: <input type="text" name="pole2" value="http://" style="width: 200px;" /><br />
  11. nazwa: <input type="text" name="pole1" style="width: 183px;" /><br />
  12. <input type="submit" value="Zapisz" /> <input type="reset" value="Reset" />
  13. </form>';
  14.  
  15. }
  16.  
  17.  if ($pole1 != "") {
  18.  // dane pochodzace z formularza
  19. $dane = $pole1."`".$pole2."n";
  20. // przypisanie zmniennej $file nazwy pliku
  21. $file = "baza.txt";
  22. // uchwyt pliku, otwarcie do dopisania
  23. $fp = fopen($file, "a");
  24. // blokada pliku do zapisu
  25. flock($fp, 2);
  26. // zapisanie danych do pliku
  27. fwrite($fp, $dane);
  28. // odblokowanie pliku
  29. flock($fp, 3);
  30. // zamkniecie pliku
  31. fclose($fp);
  32.  
  33. echo "Dane zostaly zapisane!<br />";
  34. echo "<a href="index.php">Zobacz wpisane dane</a>";
  35.  
  36. }  
  37.  
  38.  
  39. ?>


zapisanie 2 wartości (nazwa i link) w pliku tekstowym

  1. <?php
  2.  
  3. echo "<table border=1 cellspacing=0 cellpadding=0 width=550px>";
  4.  
  5. // wczytanie zawartosci pliku do tablicy
  6. $file = file("baza.txt");
  7. // przechodzimy przez tablice za pomoca petli foreach
  8. foreach($file as $value) {
  9. // rozbijamy poszczególne linie na czesci
  10. $exp = explode("`",$value);
  11. // wyswietlamy rozbity tekst
  12. echo "<tr><td> <a href=$exp[1]>" .$exp[0]. "</a></td></tr>";
  13. }
  14.  
  15. echo "</table>";
  16. ?>

Wyświetlenie tych 2 wartości w tabelce jako odnośnik

  1.  
  2. <?php
  3. $plik = "baza.txt";
  4. $file = file($plik);
  5.  
  6. foreach($file as $value) {
  7.  
  8. $sp = explode("`", $value);
  9. list($nazwa,$link) = $sp;
  10.  
  11.  if($data == $id) {
  12.  
  13. echo '<form name="ksiega" method="post">
  14. <table cellpadding="0" cellspacing="0" width="600" border="1">
  15. <tr>
  16. <td>Nazwa :</td>
  17. <td ><input type="text" name="nazwa" value="'.$nazwa.'" />
  18. </td>
  19. </tr>
  20. <tr>
  21. <td>Link :</td>
  22. <td><input type="text" name="link" value="'.$link.'" />
  23. </td>
  24. </tr>
  25. <tr>
  26. <td>&nbsp;</td>
  27. <td><input class="button" type="submit" value="Zapisz poprawione"/> 
  28. </td>
  29. </tr>
  30.  </table>
  31.  </form>';
  32. }
  33. }
  34. ?>


Ponowne wyświetlenie 2 elemętów w 2 polach takstowych (edycja)

  1.  <?php
  2. $plik = "baza.txt";
  3. $file = file($plik);
  4.  
  5. foreach($file as $value) {
  6.  
  7. $sp = explode("`", $value);
  8. list($nazwa,$link) = $sp;
  9.  
  10. if($data == $id) {
  11.  
  12. $odczyt = "$nazwa`$link`n";
  13. $zapis = "";
  14. $fp = @fopen($plik, "r");
  15. flock($fp,1);
  16. $zaw = fread($fp, filesize($plik));
  17. @fclose($fp);
  18. $po = str_replace($odczyt,$zapis,$zaw);
  19. $fp = @fopen($plik, "w");
  20. flock($fp,2);
  21. fwrite($fp, $po);
  22. @fclose($fp);
  23.  
  24. }
  25. }
  26. ?>


Zapis poprawionych danych (odpowiednio zmodyfikowanych przez urzytkownika)


i w ostatniej części jest błąd ponieważ dane z pól edycyjnych nie zapisują się do pliku tekstowego.
Co jest źle questionmark.gif

Ten post edytował integer000 29.10.2005, 19:08:49
Go to the top of the page
+Quote Post

Posty w temacie


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 - 15:11