Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Problem z edycja z tablic na plikach
Volume
post
Post #1





Grupa: Zarejestrowani
Postów: 283
Pomógł: 11
Dołączył: 11.10.2004
Skąd: 3c

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


Pisze skrypt niusow, na razie napisalem zapis do pliku, ktory jest w postaci:
Cytat
|| temat`tresc`data
- gdzie jak widac " || " separuje dla tablic nowe niusy a " ` " separuje poszczegolne dane niusa. Ta czesc dziala ok, ale stanalem w miejscu w cześci edycji. Po prostu nie wiem jak sie zabrac za ta edycje, nie wiem jak mozna by wydobyc i zedytowac konkretna tablice.

Zalozmy, ze mam juz zapis w pliku plik.txt:
Cytat
|| temat1`tresc1`data|| tema2`tres3`data|| temat3`tresc3`data

Wiec chcac wyedytowac najpierw wyodrebniam dane:
  1. $wszystkie_dane = file_get_contents('plik.txt');
  2. $dane = explode("||", $wszystkie_dane);
  3. $daneszczegolowe = explode("`", $dane[$i]);;
no i teraz nie wiem jak po otwarciu pliku przez fopen() zapisac przez fwrite() tylko te dane szczegolowe...

Calosc wyglada tak:
  1. <?php
  2. if(!empty($submit))
  3. {
  4. // zapisuje dane do pliku txt
  5. if(!empty($submit) && !empty($tresc) && !empty($tytul))
  6. {
  7. $tresc=$_POST["tresc"];
  8. $tytul=$_POST["tytul"];
  9. $plik="plik.txt";
  10.  
  11. $tresc=stripslashes($tresc);
  12. $tresc=str_replace("\n","<br />",$tresc);
  13.  
  14. $czas=date("Y-m-d H:i:s");
  15.  
  16. $fp=fopen($plik, "r+");
  17. $czas=$czas.@fread($fp, filesize($plik));
  18.  
  19. rewind($fp);
  20. flock($fp, 2);
  21. fwrite($fp, '||'.$tytul.'`'.$tresc.'`'.$czas);
  22. flock($fp, 3);
  23. fclose($fp);
  24. header ('location: index.php?news=wyslany');
  25. }
  26. else
  27. {
  28. echo '<p>Wypelnij wszystkie pola</p><p><a href="java script:history.back();">Cofaj</a></p>';
  29. }
  30. }
  31. else if($news=='wyslany')
  32. {
  33. echo '<p>News wyslany</p><p><a href="index.php">Dodaj kolejnt news</a></p>';
  34. }
  35. else if($news=='edit')
  36. {
  37. // wyswietla tematy poszczegolne z edycja w formularzach
  38. $wszystkie_dane = file_get_contents('plik.txt');
  39. $dane = explode("||", $wszystkie_dane);
  40. $all = count($dane);
  41.  
  42.  
  43.  
  44. for ($i = 0; $i<$all; $i++)
  45. {
  46. $daneszczegolowe = explode("`", $dane[$i]);
  47. if(!$n)
  48. {
  49. if(!empty($dane[$i])) echo '<p><a href="index.php?news=edit&n='.$i.'">tytul: '.$daneszczegolowe[0].'</a></p>';
  50. }
  51. else if($_GET['n']==$i)
  52. {
  53. if(!empty($dane[$i]))
  54. {
  55. echo '<p>edytuj News</p><form action="?news=editone" method="post"><fieldset><legend>Formularz do edycji newsa</legend><label for="tytul">Tytul newsa:</label><br /><input name="tytul" value="'.$daneszczegolowe[0].'" /><br /><label for="tresc">Tresc newsa: </label><br /><textarea name="tresc" rows="10" cols="40">'.$daneszczegolowe[1].'</textarea><br /><input name="submit" type="submit" value=" Wyslij " /></fieldset></form>';
  56. }
  57. }
  58. }
  59. }
  60. else if($news=='editone')
  61. {
  62. $wszystkie_dane = file_get_contents('plik.txt');
  63. $dane = explode("||", $wszystkie_dane);
  64. $daneszczegolowe = explode("`", $dane[$i]);;
  65.  
  66. // no i tu mam problem :/
  67.  
  68. }
  69. else if($news=='wyedytowane')
  70. {
  71. echo '<p>News wyedytowany</p><p><a href="index.php?news=edit">Edytuj dalej...</a></p>';
  72. }
  73. else
  74. {
  75. echo '
  76. <p>Dodaj News</p>
  77. <form method="post">
  78. <fieldset>
  79. <legend>Formularz do wyslania newsa</legend>
  80. <label for="tytul">Tytul newsa:</label><br /><input name="tytul" /><br />
  81. <label for="tresc">Tresc newsa: </label><br /><textarea name="tresc" rows="10" cols="40"></textarea>
  82. <br /><input name="submit" type="submit" value=" Wyslij " />
  83. </fieldset>
  84. </form>
  85. <p>Edycje...</p>
  86. ';
  87. echo '<p><a href="?news=edit">Edycja newsa</a></p>';
  88. echo '<p><a href="news.php">Zobacz Newsy</a></p>';
  89. }
  90.  
  91. ?>
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: 20.08.2025 - 07:15