Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] prosty fromularz
Forum PHP.pl > Forum > Przedszkole
wiercik6
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. ?>
ab0012
Kolego kurs HTMl'a Ci siękłania. Parametr "name" jest indywidualny dla każdego pola.
Neeke
ewentualnie mozesz uzyc tablic 2 wymiarowych czyli name="text[]"
wiercik6
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
klocu
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.
wiercik6
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
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.