Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] prosty fromularz
wiercik6
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.06.2008

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


witam,

jestem początkujący w tej dziedzinie, wiec proszę o wyrozumialosc:P

probuje napisac prosty formularz który bedzie zapisaywal do pliku dane wpisane przez uzytkownika.

problem polega na tym że do pliku zostaje zapisana tylko jedna wartośc a chcaiłbym wszystkie,

kod który sam jakoś sklepałem:p wygląda tak:


  1. <?php
  2.  
  3.  
  4. $plik=fopen("plik.txt","a+");
  5. if ($_POST[text]==TRUE){
  6. fwrite($plik,$_POST[text]);
  7. fseek($plik,0);
  8. $linia = fgets($plik);
  9.  
  10. fclose($plik);
  11. echo $linia;}
  12.  
  13. else{ echo
  14. "<FORM ACTION=\"index.php\" METHOD=\"post\">
  15. <center>nazwisko <br >
  16. <INPUT TYPE= \"text\" NAME=\"text\"><br >
  17. <center>imie <br >
  18. <input type=\"text\"  name=\"text\"><br >
  19. <center>numer telefonu<br > 
  20. <input type=\"text\" name=\"text\" ><br >
  21. <br >
  22. <input type=\"submit\" value=\"zapisz\">
  23.  
  24.  
  25.  
  26. </FORM>";
  27.  
  28. }
  29. ?>
Powód edycji: tym razem dodałem bbcode (cysiaczek)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
-ab0012-
post
Post #2





Goście







Kolego kurs HTMl'a Ci siękłania. Parametr "name" jest indywidualny dla każdego pola.
Go to the top of the page
+Quote Post
Neeke
post
Post #3





Grupa: Zarejestrowani
Postów: 124
Pomógł: 16
Dołączył: 22.02.2007
Skąd: Warszawa

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


ewentualnie mozesz uzyc tablic 2 wymiarowych czyli name="text[]"
Go to the top of the page
+Quote Post
wiercik6
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.06.2008

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


to ja wiem że jest indywidualny ale co zrobić żeby bylo dobrze:)

a wiec widze ze to dosyć trudne zadanie skoro nikt mi nie pomoze:P
Go to the top of the page
+Quote Post
klocu
post
Post #5





Grupa: Zarejestrowani
Postów: 291
Pomógł: 45
Dołączył: 21.08.2007

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


Dość trudne to chyba dla Ciebie.
Po pierwsze wiesz o czymś a tego nie stosujesz.
Po drugie nie myślisz logicznie.
Po trzecie masz bałagan w kodzie.

  1. <form action="d.php" method="post">
  2. nazwisko: <input type="text" name="nazwisko"><br >
  3. imie: <input type="text" name="imie"><br >
  4. numer telefonu: <input type="text" name="tel" ><br >
  5. <br >
  6. <input type="submit" value="zapisz">
  7. </form>
  8. <?php
  9.  
  10. if( $_POST['nazwisko'] and $_POST['imie'] and $_POST['tel'] ) {
  11.  
  12. $plik=fopen( "plik.txt", "a" );
  13. fwrite( $plik,$_POST[imie].','.$_POST['nazwisko'].','.$_POST['tel']."\n" );
  14. fclose($plik);
  15.  
  16. }
  17.  
  18. ?>

Oszczędzaj php - jeśli czegoś nie zmieniasz nie wrzucaj tego na miłość boską w echo - po co parser ma nad tym myśleć?
Otwórz plik do zapisu na końcu i zapisz. Nie musisz odczytywać tej samej lini z pliku. Sprawdź ew. kod błędu i tyle. Nigdy nie zostawiaj otwartych znaczników bo to aż się w oczy rzuca.
Po ente: regulamin nakazuje użycie znaczników bbcode, chyba że już na wstępie chcesz podpaść modom.

Już wiesz czemu wcześniej pokazywało Ci ostatnią wartość? Skoro nadpisywałeś ją innymi to nie mogło działać to inaczej. No chyba że odwołałbyś się do tablicy tych danych, ale jest to już osobną kwestią.
Rada na przyszlość - stosuj wcięcia w kodzie, jest on wtedy czytelnijeszy dla odbiorcy, łatwiej znaleźć odpowiednie zapisy itd.

Ten post edytował klocu 19.06.2008, 21:11:01
Go to the top of the page
+Quote Post
wiercik6
post
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.06.2008

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


wielkie dzieki!!
wiem że robie błędy dlatego zwracam się tutaj o pomoc:)
dzis jest moj pierwszy dzien z php dlatego tyle bledów ale mysle ze z czasem sie naucze:)
pozdrawiam
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 - 07:31