Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] form przesyłanie tablicy
--Leszcz--
post 18.01.2014, 13:08:43
Post #1





Goście







Witam.
Mam mały problem $wyniko jest zawsze zerem ? Widocznie tu
  1. <td align="left"><input type="text" name="tab_['.$i.']" size="5" maxlength="10" /></td>

jest gdzies błąd bo nie przesyła dalej. Próbowałem na różne sposoby niesktecznie.

Dla jasności wiekszy fragment kodu :


  1. if(isset($_POST['ile'])) {
  2.  
  3. $_SESSION['sile']=$_POST['ile'];
  4. $_SESSION['szloto']=$_POST['zloto'];
  5. echo $_SESSION['sile'];
  6. <form action="calc.php?option=do" method=post>
  7. <table>';
  8. $tab[$_POST['ile']];
  9. for($i=0;$i<$_POST['ile'];$i++)
  10. {
  11. echo '
  12. <tr>
  13. <td>Podaj level '.($i+1).' gracza</td>
  14. <td align="left"><input type="text" name="tab_['.$i.']" size="5" maxlength="10" /></td>
  15. </tr>';
  16. }
  17. echo '
  18. <tr style="height: 100px">
  19. <td colspan="2" align="center"><input type="submit" value="Dalej !"></td>
  20. </tr>
  21. </table>
  22. </form> <br>';
  23.  
  24. }
  25.  
  26. if($_GET['option']=="do")
  27. {
  28. for($j=0;$j<2;$j++)
  29. {
  30. echo $tab_[$j];
  31. echo '<br>';
  32. }
  33.  
  34. for($j=0;$j<$_SESSION['sile'];$j++)
  35. {
  36. $suma+=$tab_[$j];
  37.  
  38. }
  39. $wynik = $_SESSION['szloto']/$suma;
  40. for($i=0;$i<$_SESSION['sile'];$i++)
  41. {
  42. $wyniko=$tab[$i]*$wynik;
  43. echo $wyniko;
  44. }
  45. }
  46.  


Z góry dziękuje za odp.
Go to the top of the page
+Quote Post
Kshyhoo
post 18.01.2014, 13:27:39
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Co nie przechodzi? Sprawdzałeś tablice globalne? Np.:
  1. print('<pre>POST: ');
  2. print_r($_POST);
  3. print('</pre>');
  4. print('<pre>GET: ');
  5. print_r($_GET);
  6. print('</pre>');
  7. print('<pre>SESSION: ');
  8. print_r ($_SESSION);
  9. print('</pre>');


--------------------
Go to the top of the page
+Quote Post
--Leszcz--
post 18.01.2014, 13:40:27
Post #3





Goście







Znaczy z tego formularza nie wysyła mi tablicy. Sprawdzałem samą zawartość tablicy. Zawsze jest pusta. Wiec pewnie mam źle to
  1. name="tab_['.$i.']"
ale nie wiem jak zrobć by było dobrze.

  1. <form action="calc.php?option=do" method=post>
  2. <table>';
  3. $tab[$_POST['ile']];
  4. for($i=0;$i<$_POST['ile'];$i++)
  5. {
  6. echo '
  7. <tr>
  8. <td>Podaj level '.($i+1).' gracza</td>
  9. <td align="left"><input type="text" name="tab_['.$i.']" size="5" maxlength="10" /></td>
  10. </tr>';
  11. }
  12. echo '
  13. <tr style="height: 100px">
  14. <td colspan="2" align="center"><input type="submit" value="Dalej !"></td>
  15. </tr>
  16. </table>
  17. </form> <br>';
  18.  
  19.  
Go to the top of the page
+Quote Post
Kshyhoo
post 18.01.2014, 13:55:21
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Ale kłamiesz:
  1. POST: Array
  2. (
  3. [tab_] => Array
  4. (
  5. [0] => 4
  6. [1] => 3
  7. [2] => 45
  8. [3] => 3
  9. [4] => 4
  10. [5] => 54
  11. [6] => 2
  12. [7] => 5
  13. [8] => 5
  14. [9] => 6
  15. )
  16.  
  17. [ile] => 10
  18. )


--------------------
Go to the top of the page
+Quote Post
--Leszcz--
post 18.01.2014, 14:42:46
Post #5





Goście







Doobra dobra. Faktycznie biggrin.gif. Dzięki za pomoć miałem źle napisaną zmienną smile.gif
powinienem za tym
  1. if($_GET['option']=="do")
  2. {


wstawić

  1. for($i=0;$i<$_SISSION['sile'];$i++)
  2. $tab_[$i]=$_POST['tab'][$i]


i jest majonez:) To wszystko przez to że miałem przerwe od php. bo robiłem w innym języku rzeczy ;p
dzięki.
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: 14.08.2025 - 15:51