Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z powielaniem formularza
Forum PHP.pl > Forum > Przedszkole
Crxiak
Witam.Staram sie stworzyc system w ktorym do zespolu bedzie mozna dodawac wielu userow w jednym formularzu.Userow moze byc dowolna ilosc ktora jest podawana w pierwszym formularzu.

plik1
  1. <?php
  2. include_once('funkcje2.php');
  3. laczenie();
  4.  
  5. if (isset($_SESSION['auth']) ) {
  6. print "<form action='2.php' method=POST>";
  7. print "<table border=1 align=center cellpadding=10>";
  8. print "<tr><td>Nazwa druzyny:</td><td><input type=text name=nazwa_druzyny>";
  9. print "</td></tr><tr><td> Kapitan:</td><td><input type=text name=kapitan></td></tr>";
  10. print "<tr><td>haslo:</td><td><input type=password name=haslo>";
  11. print " <tr><td>Ilosc zawodnikow:</td><td><input type=text maxlength=2 name=ilosc></td></tr>";
  12. print "<tr><td colspan=2><input type=submit value=dalej></td><tr>";
  13. }
  14. else {
  15. print "<a href=login2.php>zaloguj sie</a>";
  16. ?>


plik2
  1. <?php
  2. $team=htmlspecialchars ($_POST['nazwa_druzyny']);
  3. $ile=$_POST['ilosc'];
  4. $ilosc=$ile;
  5. $kto='kapitan';
  6. $kapitan=$_POST['kapitan'];
  7. print $kapitan;
  8. if ($ile>4) {
  9. print "<table border=1 cellpadding=10><tr><th>Skład</th><th>".$team."</th>";
  10. print "<form action = pot_dod.php method=POST>";
  11. print "<tr><td align=center colspan=2>Nick</td></tr>";
  12. print "<tr><td>Kapitan:</td><td><input type=text readonly=readonly value=".$kapitan."></td></tr>";
  13. $ile++;
  14. for ($i=2;$i<$ile;$i++) {
  15. print "<tr><td> Gracz ";
  16. print $a++;
  17. print "</td><td><input type=text name=gracz".$i."></td></tr>";
  18.  
  19. }
  20. print "<tr><td><input type=submit value=dalej></td></tr>";
  21.  
  22. } else {
  23. print "zbyt malo graczy aby zglosic zespol!";
  24.  
  25. }
  26. ?>


Tutaj rodzi sie moje pytanie.Jak przeslac do kolejnego pliku dane z formularza jezeli ilosc zawodnikow wpisywanych bedzie np.5.
I drugie pytanie jak to odebrac.Bo wypisywanie reczne tych danych w systemie
Kod
$_POST['gracz1']....
$_POST['gracz2']...

to syzyfowa praca, pozatym nigdy nie wiemy ilu zawodnikow wpisze autor.
Probowalem uzywac
  1. <?php
  2. for ($i=1, $i<ile; $i++) {
  3. $gracz=$_POST['gracz'"$i"];
  4. }
  5. ?>

Niestety nie dziala sad.gif

Dane odebrane z tych formularzy po ich zatwierdzeniu maja byc wpisane do bzy danych.

Prosze o pomoc smile.gif


-------------------------
do php używamy odpowiedniego BBCode
tym razem poprawiłem proszę pamiętać
korzystać w przyszłości
~Cienki1980
Cienki1980
Zamiast
  1. <?php
  2. print "</td><td><input type=text name=gracz".$i."></td></tr>";
  3.  
  4. // użyj takiego wpisu
  5.  
  6. print "</td><td><input type=text name=gracz[]></td></tr>";
  7. ?>

Otrzymasz tablicę $_POST['gracz'] a jej zawartość możesz odczytać w pętli np foreach. Żeby zobaczyć jaką postać ma ta tablicą zrób tak:
  1. <?php
  2. echo "<pre>";print_r($_POST['gracz']);echo "</pre>";
  3. ?>
Crxiak
Dzieki za odpowiedz i za poprawe smile.gif
Ale mam pytanko.W kolejnym pliku odczytam ta tablice
  1. <?php
  2. $_POST['gracz']
  3. ?>
np 5 razy i bedzie zawierala zawsze te same dane.Bo bedziemyu zawsze odnosic sie do tego samego elemetu tablicy czyli w tym przypadku ['gracz'] a co z graczem 2,3,4 i cala reszta po koleji.Jak ja odczytac?
Czy cos zle rozumuje?Bo php dopiero rozgryzam. smile.gif
Cienki1980
a sprawdzałeś co zwraca kod:
  1. <?php
  2. echo "<pre>";print_r($_POST['gracz']);echo "</pre>";
  3. ?>


w tej tablicy będziesz miał wszystkie dane ... $_POST['gracz'] to tablica, a nie jeden element.
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.