Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Zapis danych z formularza do pliku
daros17
post
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

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


Hey

Mam taki głupi problem, a mianowicie kod poniżej zapisuje to co wrzucam w formularz i zapisuje w plikach txt. pierwszy plik to plik0.txt natepny to plik1.txt i tak dalej każdy plik ma to co wpisalem do formularza ostatni raz, a ja chce aby to co wpisalem pierwszy raz bylo w pliku plik0.txt itp

jak to przerobić?

zapisuje jedynie liczby co do poprawki?

  1. <form action="" method="POST">
  2. <textarea name="wrzuc"></textarea>
  3. <input type="submit" name="submit" value="Wyslij">
  4.  
  5. <?php
  6.  
  7. if(isset($_POST['submit']))
  8. {
  9. echo 'Tekst został zapisany';
  10. }
  11. {
  12. $k=0;
  13. $wrzuc=$_POST['wrzuc'];
  14. $tresc = $wrzuc;
  15. for ($i=0; $i<$wrzuc; $i++)
  16. {
  17. file_put_contents('plik'.$i.'.txt', $tresc);
  18.  
  19. }
  20. }
  21.  
  22. ?>
  23.  


Ten post edytował daros17 10.12.2010, 19:06:31
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
pablo_83
post
Post #2





Grupa: Zarejestrowani
Postów: 200
Pomógł: 16
Dołączył: 11.01.2009
Skąd: wrocław

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


Nie wiem czy dobrze rozumiem o co Ci chodzi, chcesz aby dane z formularza lądowały w pliku plik0.txt questionmark.gif

Jeśli tak to wyrzuć z nazwy pliku zmienną $i.

Jeśli masz jedno pole w formularzu to po co Ci pętla??

i jeszcze jedno jaki sens ma przypisywanie $treść = $wrzuć questionmark.gif?, tworzysz nową zmienną aby przypisać jej wartość starej?questionmark.gif trochę bez sensu.

Nie wiem czy dobrze zrozumiałem Twój problem, jeśli chodzi o coś innego sprecyzuj pytanie.
Go to the top of the page
+Quote Post
ZeTu
post
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

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


Zawartość dodaj.php lub dodaj.html
  1. <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'>
  2. <html xmlns='http://www.w3.org/1999/xhtml' xml:lang='pl' lang='pl'>
  3. <head>
  4. <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2' />
  5. </head>
  6. <html>
  7. <body>
  8. <table>
  9. <form method="post" action="add.php">
  10. <tr><td>Tytuł:</td><td><input type="text" name="tytul" size=20></td></tr>
  11. <tr><td><br>Treść:</td><td><textarea rows="6" name="tresc" cols="60"></textarea></td></tr>
  12. </p>
  13. <tr><td></td>
  14. <td><input type="submit" value="Dodaj"> <input type="reset" value="Wyczyść"></td></tr>
  15. </form>
  16. </td></tr>
  17. </table>
  18.  
  19. </body>
  20. </html>


Zawartość add.php
  1. <? extract($_REQUEST);
  2. $napis="Zobacz";
  3. $dataloc="nn.txt";
  4.  
  5. $zobacz="<a href=zobacz.php>$napis</a>";
  6.  
  7. $read=fopen($dataloc, "r");
  8. $fileread = fread($read, filesize($dataloc));
  9. fclose($read);
  10.  
  11.  
  12. fwrite (fopen("nn.txt", "r+"), "<b>$tytul $tytulz</b><br>$trescz $tresc<br><br>
  13. \n $fileread ");
  14.  
  15. fclose(fopen("nn.txt", "a+"));
  16.  
  17. echo ("$zobacz");
  18. ?>


nn.txt puste (chmod 777)

Zawartość zobacz.php
  1. <?
  2. $sciezka = 'nn.txt';
  3. $plik = fopen($sciezka, 'r');
  4. $zawartosc = fread($plik, filesize('nn.txt'));
  5. echo $zawartosc
  6. ?>


"ś" = "¶"
Demo http://karol-drag.eu/demo/dodaj.html
Pobierz gotowca http://karol-drag.eu/demo/pobierz-demo.zip

Nie żebym chciał reklamować (swoją) stronę, po prostu chcę ułatwić Ci życie, bo tak to musisz kopiować to i usuwać te nry linijek.


--------------------
Go to the top of the page
+Quote Post
daros17
post
Post #4





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

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


Jakby miały lądować w pliku "plik0.txt" to nie miałbym z tym problemu...

mamy formularz jesli wrzuce tam napis - dsabhfsdfgsdhfs to ma zapisywac w pliku "plik0.txt"

jesli za 5 minut znow cos dodam w formularzu np -asdfsfsdfsd to ma zapisywac w pliku "plik1.txt"

wiec po to mi petla
Go to the top of the page
+Quote Post
ZeTu
post
Post #5





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

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


Czyli ma zapisać w pliku plik0.txt, po 5 minutach w plik1.txt, a potem znowu po 5 minutach w plik0.txt?


--------------------
Go to the top of the page
+Quote Post
daros17
post
Post #6





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

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


No nie..

przykład:
lol1 do pliku -> plik0.txt
lol2 do pliku -> plik1.txt
lol3 do pliku -> plik2.txt
lol4 do pliku -> plik3.txt

itp
Go to the top of the page
+Quote Post
markonix
post
Post #7





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Każdy nowy wpis do nowego pliku?

To po prostu sprawdzaj jaki plik jest ostatni lub nazwę zapisuj w innym pliku (żeby nie listować całego katalogu).


--------------------
Go to the top of the page
+Quote Post
daros17
post
Post #8





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

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


a jak sprawdzic jaki plik jest ostatni? myslalem o file_exits ale to sprawdza czy plik istnieje. moglbys mnie jakos naprowadzic

Ten post edytował daros17 10.12.2010, 19:29:41
Go to the top of the page
+Quote Post
ZeTu
post
Post #9





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

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


A pliki mają się tworzyć same? czy Ty sobie utworzysz pliki plik0.txt itd?

Ten post edytował ZeTu 10.12.2010, 19:29:48


--------------------
Go to the top of the page
+Quote Post
daros17
post
Post #10





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

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


Tak pliki maja sie same tworzyc i sie tworza, ale kazdy poprzedni plik jest nadpisany tym co dodalem ostatni raz w fomularzu
Go to the top of the page
+Quote Post
markonix
post
Post #11





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Formularz jest wysyłany raz, nie masz kilku inputów więc nie rozumiem w ogóle celowości tej pętli.



--------------------
Go to the top of the page
+Quote Post
daros17
post
Post #12





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

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


to w takim razie jak miałby to zrobić?

jeśli np co 30 sekund wysyłam nowe dane z formularza i ma zapisywać się w nowych plikach a nie tych samych czyli plik0.txt plik1.txt plik2.txt plik3.txt plik4.txt plik5.txt itp
Go to the top of the page
+Quote Post
ZeTu
post
Post #13





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

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


Robię Ci ten skrypt, ale błędy mi wyskakują, jak je uda się usunąć, to Ci to zrobię.


--------------------
Go to the top of the page
+Quote Post
amii
post
Post #14





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


  1. $tablica - array();
  2. $dir = "przykladowy/katalog"; //dajesz parametry 777 zeby mial prawo do zapisu
  3. $content = $_POST['formularz']; //zmienna z treścią z twojego formularza
  4.  
  5.  
  6. // Czytamy zawartość katalogu, powinien byc pusty i tam powinny być zapisywane pliki txt
  7. function katalog($dir, $tablica) {
  8. if (is_dir($dir)) {
  9. if ($dh = opendir($dir)) {
  10. while (($file = readdir($dh)) !== false) {
  11. if ($file != "." && $file != "..") {
  12. $tablica = $file;
  13. }
  14. }
  15. closedir($dh);
  16. }
  17. }
  18. return $tablica;
  19. }
  20.  
  21. $tablica = katalog($dir, $tablica);
  22.  
  23. $i = count($tablica);
  24. $handle=fopen('plik'.$i.'.txt', "w+");
  25. if($handle) {
  26. fwrite($handle, $contnet);
  27. fclose($handle);
  28. }
  29. else die('Blad otwarcia pliku plik'.$i.'.txt');


Ten post edytował amii 10.12.2010, 20:03:28


--------------------
gry flash online
Dobry hosting i tanie odnowienia domen firma: masternet.
Zarabianie bez wysiłku na domenach bez ruchu: prolink.
Go to the top of the page
+Quote Post
ZeTu
post
Post #15





Grupa: Zarejestrowani
Postów: 217
Pomógł: 8
Dołączył: 8.12.2010

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


Chodzi Ci o takie coś? http://karol-drag.eu/demo1/
Skrypt mojego autorstwa do pobrania przez ten link http://karol-drag.eu/demo1/pobierz-demo1.zip

Ten post edytował ZeTu 10.12.2010, 20:51:23


--------------------
Go to the top of the page
+Quote Post
pablo_83
post
Post #16





Grupa: Zarejestrowani
Postów: 200
Pomógł: 16
Dołączył: 11.01.2009
Skąd: wrocław

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


jeśli chcesz unikatowość plików to możesz zamiast $i w nazwie wstawić aktualny czas i masz po problemie.

Jeśli ma to być nazwa + numer to możesz zmienić sobie nazwę do postaci plik_0.txt, plik_1.txt itd

wtedy pobierasz sobie nazwy plików dajesz nazwę do tablicy, jako selektora używasz właśnie _
i sprawdzasz jaka cyfra jest największa (tutaj jakąś pętle stosujesz), jak pętla dojdzie do końca (czy masz już liczbę w nazwie ostatnio utworzonego pliku)
robisz zmienną np

$x = twoja_liczba + 1;

i prz tworzeniu kolejnego pliku
plik_$x.txt

i problem z głowy.

jeśli w danym katalogu masz tylko te pliki możesz też zrobić count ilości plików i do tej liczby + 1

nie wiem do czego potrzebujesz różnorodności tych plików, ale dodanie aktualnego czasu wydaj mi się bardziej rozsądne, przy szukaniu potem jakiegoś pliku będzie Ci go łatwiej znaleźć data mówi o wiele więcej niż tylko numeracja

Ten post edytował pablo_83 11.12.2010, 18:09:58
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: 19.08.2025 - 17:20