Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Wysyłanie-odbieranie-zapisywanie do txt formularzy
Forum PHP.pl > Forum > Przedszkole
llooll19
Witam.
Na wstępie przyznam że w php raczkuje.

Potrzebuje skrypcik ,który robił by następującą rzecz:

Z formularza (dość obszernego)
odbierał wszystkie dane....przerabiał je i zapisywał do pliku txt,
tak aby plik txt po którymś kliencie wyglądał mniejwiecej tak:


imie=marek
konsole=tak
PC=czasami
kalkulator=nie
laptop=nie

-------------------

imie=ewa
konsole=tak
PC=czasami
kalkulator=nie
laptop=tak

---------------------------

imie=tadzio
konsole=tak
PC=czasami
kalkulator=tak
laptop=nie

sadsmiley02.gif tylko że niezabardzo wiem jak to zrobić....... sadsmiley02.gif


Napisałem taki skrypcik(a własciwie skopiowałem z jakiegoś forum i zmieniłem nieco):


formularz.html
  1. <title>Formularz</title>
  2. </head>
  3.  
  4. <body topmargin="100">
  5. <p align="center">
  6.  
  7. <form action="plik.php" method="post">
  8. <input type="text" name="dane"> <br />
  9. <input type="submit" value="OK">
  10. </form>
  11.  
  12. </p>
  13. </body>
  14. </html>



plik.php
  1. <?php
  2.  
  3.  
  4.  
  5. $dane = $_POST['dane'];
  6. // przypisanie zmniennej $file nazwy pliku
  7. $file = "baza.txt";
  8.  
  9. chmod("baza.txt", 0755);
  10. // uchwyt pliku, otwarcie do dopisania na początku pliku
  11. $fp = fopen($file, "x");
  12.  
  13. // blokada pliku do zapisu
  14. flock($fp, 2);
  15.  
  16. // zapisanie danych do pliku
  17. fwrite($fp, $dane);
  18.  
  19. // odblokowanie pliku
  20. flock($fp, 3);
  21.  
  22. // zamknięcie pliku
  23. fclose($fp);
  24.  
  25. ?>



Teraz kilka pytań .. :

dlaczego po pierwszym uruchomieniu powstał na serwerze plik baza.txt a gdy go usunąłem, odpalając ponownie skrypt plik ie tworzy sie sad.gif?

dodam nawet że udało mi sie stworzyć baza txt z 2 wpisami tzn z dwoma pozycjami z formularza ale jak napisałem plik baza przestał sie tworzyć ,kiedy ja nic nie zmieniałem w tresci stron.. sad.gif


a co do samego odbierania i przekształcania to osobiście na początku kombinowałem jak tu odebrać od pierwszej stronki taki ciąg co na mailto wychodzi w mailu (czyli np imie=tadzio&konsole=tak&PC=czasami..)
i rozbić jakoś przez explode..

pozatym mam jakieś takie przeczucie że bede musiał zrobić to przy urzyciu tablic albo nawet bazy danych ....



Prosił bym o pomoc najlepiej kompleksową....
a szczególnie o odpowiedz dlaczego plik nie chce sie już tworzyć



Bardzo dziekuje z góry i pozdrawiam
wipo
A poczytałeś o atrybutach danych w poleceniu fopen()?
Po co zmieniasz chmod w kółko?

  1. <?php
  2. if ($_POST['submit']){
  3. $plik=fopen("plik.txt","a+");
  4. fputs($plik,"imie=".$_POST['imie'].chr(10));
  5. //to samo dla reszty
  6. fputs($plik,chr(10)." ----------- ".chr(10));
  7. fclose($plik);
  8. }
  9.  
  10. ?><form action="" method="post">
  11. <input type="text" name="imie" value=""><br>
  12. to samo dla reszty
  13. <input type="submit" name="submit" value="Dodaj"></form>
llooll19
Dziekuje za zainteresowanie ! biggrin.gif


"
  1. <?php
  2. if ($_POST['submit']){
  3. $plik=fopen("plik.txt","a+");
  4. fputs($plik,"imie=".$_POST['imie'].chr(10));
  5. //to samo dla reszty
  6. fputs($plik,chr(10)." ----------- ".chr(10));
  7. fclose($plik);
  8. }
  9.  
  10.  
  11. ?>
"

Czy mógł bym Cie Wipo prosić o ciutke komentarzy miedzy wierszami ponieważ troszke to dla mnie czarna magia sad.gif
Gdy już bede miejwiecej wiedział jakim algorytmem mam sie posługiwać wtedy pod odpowiednim kątem przetrzepie manuala...

Z góry dziekuje i pozdrawiam
mike
Cytat(llooll19 @ 17.12.2006, 12:41:04 ) *
Dziekuje za zainteresowanie ! biggrin.gif

A ja z góry dziękuję za zainteresowanie Regulaminem oraz zasadami panującymi na forum Przedszkole.
Proszę poprawić swoje posty umieszczając kody źródłowe w odpowiednich tagach bbCode.
wipo
  1. <?php // odpalenie php
  2. if ($_POST['submit']){  //sprawdzenie czy wysłana została wartość submit
  3. $plik=fopen("plik.txt","a+"); //otwarcie pliku do dopisania (append)
  4. fputs($plik,"imie=".$_POST['imie'].chr(10)); //wpisanie do pliku wartości zawartej w polu imie (ten input na kole) + dorzucenie znaku nowej linii.
  5. //to samo dla reszty // powtórz ta samą operację dla innych pól twojego formularza wpisując odpowiednie
     pola
  6. fputs($plik,chr(10)." ----------- ".chr(10)); // napisanie na samym koncu linii -----------------------
  7. fclose($plik); //zamknięcie pliku
  8. }
  9.  
  10. ?><form action="" method="post"> <!-- wyślij formularz przez POST do tej samej strony -->
  11. <input type="text" name="imie" value=""><br> <!-- pole imie o którym wyżej -->
  12. <!-- to samo dla reszty // o tym napisałem wyżej wklej powyższą linię tyle razy ile chcesz tylko zmień nam
    e=" twoje nazwy" -->
  13. <input type="submit" name="submit" value="Dodaj"></form> <!-- pole submit o nazwie dalej -->

Tak apropos to wszytko i wiece więcej wie wójek Google - wystarczy go zapytać
llooll19
Wiem że google wie najwiecej i jestem jego zwolennikiem ale najpierw chciałem wiedzieć czego konkretnie szukać.


Tak czy owak bardzo jeszcze raz dziekuje i pozdrawiam guitar.gif

Wszysciutko pięknie śmiga ... jest tylko jede malutki problem dlaczego mi w pliku tekstowym zamiast przechodzić do kolejnej linii wstawia małe kwadraciki ?



z góry dziekuje za pomoc aarambo.gif
wipo
Bo pewnie żejesz z Billem zapan brat i musisz wiedzieć że w Windzie znak nowej linii to #13#10 a nie jak w linuxie #10
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.