Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][html] pola formularza w petli, jak opisac pola formularza w petli?
funky_beat
post 23.12.2007, 23:40:43
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


Witam,
Próbowalem zrobic skrypt wyswietlajacy w petli okreslona liczbe pol formularza:

  1. $i=1;
  2.  
  3. while($i <= $zmienna)
  4. {
  5. ?>
  6.  
  7. <form action="plik.php" method="POST" ENCTYPE="multipart/form-data">
  8. </br><p><b>Podaj wartosc "<?php echo $i;?>"</b> <input type="text" name="ile<?php echo $i;?>" size="2" maxlength="2" value="<?php if (isset($_POST['ile'])) echo $_POST['ile']; ?>" />
  9.  
  10. <?php
  11. ++$i;
  12. }
  13. ?>
  14.  
  15. <br><input type="submit" name="submit" value="OK>
  16. </form>
  17.  
  18. <?php
  19.  
  20. if (isset($_POST['submit']))
  21. {
  22. $nowa = $_POST['ile<?php echo $i;?>'];
  23.  
  24. echo $nowa;
  25. }
  26.  
  27. }
  28.  
  29.  
  30.  
  31. }



ale to nie dziala sad.gif


jak odebrac wartosci ze zmiennych z pol formularza wyswietlanego w petli ? sad.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Boski
post 23.12.2007, 23:49:30
Post #2





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 22.12.2007
Skąd: Wrocław

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


po pierwsze podomykaj wszystkie nawiasy i cudzysłowy w html
po drogie
  1. $nowa = $_POST['ile<?php echo $i;?>'];


nie istnieje

  1. <?php
  2. $nowa = $_POST['"ile".$i'];
  3. ?>


chya ba tak powinno być porawnie

zamiast:

  1. <?php echo $i;?>


stosuj krutsze

  1. <?= $i;?>


stosuj wcięcia to ułatwia rozpoznanie skłądni

domknij początkowy nawias

i jakoś za dużo masz tych nawiasów.

Ten post edytował Boski 23.12.2007, 23:52:41
Go to the top of the page
+Quote Post
sniezny_wilk
post 24.12.2007, 00:08:00
Post #3





Grupa: Zarejestrowani
Postów: 732
Pomógł: 80
Dołączył: 25.05.2005
Skąd: Szczecin

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


Cytat(Boski @ 23.12.2007, 23:49:30 ) *
  1. <?php echo $i;?>


stosuj krutsze

  1. <?= $i;?>


stosuj wcięcia to ułatwia rozpoznanie skłądni


Nie zgodzę się z Tobą, poprawnie rozpoczęty plik php to właśnie "<?php". Gdzieś nawet czytałem, że powinno się stosować taki standard.

Nie wiem czy o to Tobie chodziło, ja na szybkiego wymyśliłem coś takiego:

  1. <?php
  2.  
  3. $koniec=2;
  4.  
  5. for($i=0; $i<= $koniec; $i++)
  6. {
  7.  
  8. echo '<form action="pliki.php" method="POST">
  9. </br><p><b>Podaj wartosc "'.$i.' :"</b> <input type="text" name="ile[]" size="2" maxlength="2" value="';
  10. if (isset($_POST['ile'])) echo $_POST['ile'][$i];
  11. echo '" />';
  12.  
  13.  
  14. }
  15. echo'<br><input type="submit" name="submit" value="OK"></form>';
  16. ?>


--------------------
Go to the top of the page
+Quote Post
Boski
post 24.12.2007, 00:10:12
Post #4





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 22.12.2007
Skąd: Wrocław

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


no to jak tak czytałeś to można
  1. <?php= $i;?>
Go to the top of the page
+Quote Post
funky_beat
post 24.12.2007, 00:27:11
Post #5





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


sniezny_wilk ok ale jak obsłużyć taki formularz? bo mi przedewszystkim o to chodzilo,

jak wyciagnac te wartosci z tych pół?
Go to the top of the page
+Quote Post
Boski
post 24.12.2007, 00:43:37
Post #6





Grupa: Zarejestrowani
Postów: 26
Pomógł: 1
Dołączył: 22.12.2007
Skąd: Wrocław

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


musisz w formularzu za pomocą get lub post przesłać zmienną. A potem na początku pliku sprawdzać czy zmienna istnieje i czy ma wartość równa podanej w formularzu. po czym wykonywać skrypt pobierając zamienne z formularza za pomocą tablicy

$_POST['nazwa pola w formularzu'] lub analogicznie z metoda get
Go to the top of the page
+Quote Post
funky_beat
post 24.12.2007, 09:38:47
Post #7





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


boski no dobra to wiem , ale załóżmy że tych pól w formularzu jest raz 5 a raz 10 więc jak za każdym razem wyciągnąć wartości z każdego z pól?
Go to the top of the page
+Quote Post
jang
post 24.12.2007, 09:57:47
Post #8





Grupa: Zarejestrowani
Postów: 101
Pomógł: 11
Dołączył: 2.02.2005

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


  1. <?php
  2. $_POST['1'] = 'a';
  3. $_POST['2'] = 'b';
  4. $_POST['3'] = 'b';
  5.  
  6. print_r(array_keys ($_POST));
  7. ?>

a skoro znasz już klucze to w pętli odczytaj sobie ich wartości.


--------------------
$email = filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if($email === false) {
// Houston, we have a problem....
}
Go to the top of the page
+Quote Post
funky_beat
post 24.12.2007, 10:36:36
Post #9





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


jang a mozesz to wyjaśnić?
mam tablicę kluczy tak?
i teraz powinienem zliczyć ich ilość
i wrzucic w pętlę np takie cos?

  1. <?php
  2. $klucze = count(array_keys ($_POST));
  3.  
  4. for ($a=0; $a < $klucze; $a++)
  5. {
  6. $zmienna = $_POST['zFormularza'];
  7. }
  8. ?>



tak??

zrobilem tak:

  1. <?php
  2. $koniec=2;
  3. for($i=0; $i<= $koniec; $i++)
  4. {
  5. echo '<form action="form.php" method="POST">
  6. </br><p><b>Podaj wartosc "'.$i.' :"</b>
  7. <input type="text" name="ile[]" size="2" maxlength="2" value="';if (isset($_POST['ile'])) echo $_POST['ile'][$i];echo '" />';
  8. }
  9. echo'<br><input type="submit" name="submit" value="OK">
  10. </form>';
  11.  
  12.  
  13. $klucze = count(array_keys ($_POST));
  14. for ($a=0; $a < $klucze; $a++)
  15. {
  16. $zmienna = $_POST['ile[]'];
  17. echo $zmienna."<br >";
  18. }
  19.  
  20. ?>




i jednak cos nie działa
Go to the top of the page
+Quote Post
jang
post 24.12.2007, 10:39:54
Post #10





Grupa: Zarejestrowani
Postów: 101
Pomógł: 11
Dołączył: 2.02.2005

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


  1. <?php
  2. $_POST['abc'] = '12';
  3. $_POST['def'] = '34';
  4. $_POST['ghi'] = '56';
  5.  
  6.  
  7. //print_r(array_keys ($_POST));
  8.  
  9. $array = array_keys ($_POST);
  10.  
  11. foreach($array as $key)
  12. {
  13. $value = $_POST[$key];
  14. echo 'Ten klucz => <b>'.$key .'</b> ma wartosc => <b>'.$value.'</b><br />';
  15. }
  16. ?>


--------------------
$email = filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if($email === false) {
// Houston, we have a problem....
}
Go to the top of the page
+Quote Post
phpion
post 24.12.2007, 10:47:02
Post #11





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. <?php define('ILE_POL', 10); ?>
  2. <form action="" method="post">
  3. <?php for($i=0; $i<ILE_POL; $i++): ?>
  4. <p>
  5. <label for="pole<?php echo $i+1; ?>">Pole <?php echo $i+1; ?></label>
  6. <input type="text" name="pole[]" id="pole<?php echo $i+1; ?>" />
  7. </p>
  8. <?php endfor; ?>
  9. <p><input type="submit" value="Go!" />
  10. </form>
  11.  
  12. <?php
  13. if (isset($_POST['pole'][0])) {
  14. foreach ($_POST['pole'] as $pole) {
  15. echo $pole;
  16. }
  17. }
  18. ?>
Go to the top of the page
+Quote Post
funky_beat
post 24.12.2007, 10:59:54
Post #12





Grupa: Zarejestrowani
Postów: 63
Pomógł: 0
Dołączył: 24.05.2007
Skąd: Bełchatów

Ostrzeżenie: (10%)
X----


phpion.com WIELKIE DZIĘKI własnie o to chodziło
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 05:36