Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Przenoszenie kilku zmiennych na kolejną stronę
Forum PHP.pl > Forum > Przedszkole
marek2003
Witam

To mój pierwszy post i jeśli źle trafiłem, to z góry przepraszam i proszę o wyrozumiałość. Ale do rzeczy, mam taki kod:
  1. <?php
  2. $_SESSION["logged"] = False;
  3. unset($_SESSION["username"]);
  4. unset($_SESSION["password"]);
  5.  
  6. session_unregister ("liczba1");
  7. session_unregister ("liczba2");
  8.  
  9. if($przycisk1 == 'Wybierz' AND ($liczba1 == NULL OR $liczba1 <= 0 OR $liczba2 == NULL OR $liczba2 <= 0))
  10.  
  11. {echo "<br><font color=red><b>Wpisz właściwą liczbę ogniw!</b></font>";}
  12.  
  13. if($przycisk1 == 'Wybierz' AND $liczba1 != NULL AND $liczba1 > 0 AND $liczba2 != NULL AND $liczba2 > 0){
  14.  
  15.  
  16. echo "<table cellpadding=\"10\"><tr><td>";
  17. echo"<form action=\"index.php\" method=\"post\">";
  18. echo"<input type=\"hidden\" name=\"menu\" value=\"rownolegle\">";
  19. for ($i=1; $i <= $liczba1; $i++)
  20.  
  21. {
  22. echo"<br><p style='text-align: right; font-size: 15'>Wymiar ogniwa A$i <input type=\"text\" name=\"$i_wymiarA\" maxlength=\"3\" size=\"1\">";
  23. echo"<br>";
  24. } 
  25. echo"<td>";
  26.  
  27.  
  28. for ($j=1; $j <= $liczba2; $j++)
  29.  
  30. {
  31. echo"<br><p style='text-align: right; font-size: 15'>Wymiar ogniwa B$j <input type=\"text\" name=\"$j_wymiarB\" maxlength=\"3\" size=\"1\">";
  32. echo"<br>";
  33. }
  34. session_register ("liczba1");
  35. session_register ("liczba2");
  36.  
  37. echo"</td></tr></table>";
  38. echo"</select>";
  39.  
  40.  
  41. echo"<input type=\"submit\" name=\"przycisk2\" value=\"Wybierz\"></form>";
  42. }
  43.  
  44. if($przycisk2 == 'Wybierz'){
  45.  
  46. for ($a=1; $a <= $liczba1; $a++){
  47.  
  48. echo"<center>Wymiar A$i wynosi: <b>$i_wymiarA</b><br>";}
  49.  
  50.  
  51.  
  52. for ($b=1; $b <= $liczba2; $b++){
  53.  
  54. echo"<center>Wymiar B$i wynosi: <b>$j_wymiar_B</b><br>";}
  55.  
  56.  
  57. }
  58.  
  59. else{
  60.  
  61. echo"<form action=\"index.php\" method=\"get\">";
  62. echo"<br>Proszę podać liczbę ogniw zwiększających&nbsp;<input type=\"text\" name=\"liczba1\" maxlength=\"2\" size=\"2\">";
  63. echo"<br>Proszę podać liczbę ogniw zmniejszających&nbsp;<input type=\"text\" name=\"liczba2\" maxlength=\"2\" size=\"2\">"; 
  64.  
  65. echo"</select>";
  66. echo"<input type=\"hidden\" name=\"menu\" value=\"rownolegle\">";
  67.  
  68. echo"<br><br><input type=\"submit\" name=\"przycisk1\" value=\"Wybierz\"></form>";
  69. }
  70.  
  71.  
  72. ?>


Po podaniu wartości liczba1 i liczba2 i kliknięciu przycisk1 generuje się taka właśnie liczba pól tekstowych, gdzie wpisujemy "Wymiary ogniw A1, A2, A3..." oraz "Wymiary ogniw B1, B2, B3...". Do tego momentu wszystko ładnie. Po wpisaniu wciskamy przycisk2 i teraz chciałbym, aby po prostu wyświetlił mi wprowadzone wcześniej wartości wymiarów A i B (będzie mi to potrzebne do obliczeń). Za Chiny to nie chce działać i wyświetla się tylko ostatni wprowadzony wymiar. Kombinowałem juz na wszelkie sposoby, aż zdecydowałem się to maksymalnie uprościć, aby było czytelne i wrzucić tu - może jakaś mądra głowa będzie wiedziała jak to zrobić? BARDZO proszę o pomoc, to naprawde istotna sprawa.
sf
wprowadzaj kod w znaczniki PHP ! bo nic nie można z tego przeczytać

poza tym widzę już, że nie masz session_start()

jak nie działa na dużym przykładzie to zrób MAŁY i na nim testuj

pozdrawiam winksmiley.jpg
marek2003
Właśnie to już jest MAŁY przykład snitch.gif Bardzo proszę o pomoc, naprawdę już nie mam pojęcia jak to zrobić sad.gif
Fishu
Racja nic nie można przeczytać daj kod pomiędzy [ php] i [ /php] (oczywiście po bez spacji)
No troche nie rozumie.
marek2003
Zgodnie z życzeniami, umieściłem kod w znacznikach.

Jak można zauważyć, są tu dwa formularze. Przekazywanie zmiennych z pierwszego ($liczba1, $liczba2) do drugiego działa bez zarzutu i dalej też, bo są to zmienne sesyjne. Problem jest z przekazaniem danych z drugiego formularza, gdyż tak jak mówię, przekazuje się tylko ostatnia dana. Chodzi o to, iż są to zmienne umieszczone w petli, a zatem parametr "name" od input type musiałby przyjmować w swojej nazwie aktualną wartość "i" oraz"j" z pętli - tak przynajmniej mi sie wydaje. Kombinowałem jak to zrobić na wiele sposobów i nigdy nie działa. Inaczej przeciez chyba nie jestem w stanie przesłać tych zmiennych dalej po kliknięciu przycisk2, gdyż wszystko co wpisze, jest traktowane jako jedna zmienna a nie seria zmiennych.

Powiedzcie zatem tylko jak odebrać z formularza SERIĘ danych (tą z pól wygenerowanych pętlą), bo odbiera mi się tylko ostatnia wprowadzona dana. To dla mnie najważniejsze, z resztą sobie poradzę.
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.