Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Jak przetransportować zmienną dalej?
DeDmAn
post 18.01.2010, 16:33:56
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 12.09.2006

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


Witam

Mam taki problem:

Mam sobie switcha:

  1. <?php
  2.  
  3. switch ($_GET['pokaz'])
  4. {
  5.  
  6. case "etap3":
  7. // wyswietlenie $_post['xxx']
  8. break;
  9.  
  10.  
  11. case "etap2":
  12. // FORMULARZ Z AKCJA: etap3
  13. // przekazanie $_post['xxx'] do etapu3
  14. break;
  15.  
  16.  
  17. default:
  18. // FORMULARZ Z AKCJA: etap2
  19. // Wswietlenie formularza z $_post['xxx']
  20.  
  21. break;
  22. }
  23. ?>



Więc chciałbym tak:

W default wczytuje formularz w ktorym wpisuje sobie _POST, w kolejnym wyswietlam. I chcialbym go przekazac do kolejnego etapu. Jak mam to zrobic?
Czy tylko zostaje sesja?

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
trucksweb
post 18.01.2010, 16:39:39
Post #2





Grupa: Zarejestrowani
Postów: 1 199
Pomógł: 31
Dołączył: 22.03.2004
Skąd: Warszawa

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


jesli to bedzie tablica to tak,jedynie sesja bedzie rozwiazaniem
jeslii to tylko jedna/dwie zmienne to mozesz utworzyc hiddena i przekazywac w nim wartosci


--------------------
Rozmawia dwóch dyrektorów:
- Jaki jest twój ideał sekretarki?
- 20-letnia dziewczyna z 30-letnim doświadczeniem.
Go to the top of the page
+Quote Post
darko
post 18.01.2010, 16:40:39
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Jeśli chcesz przekazać zmienną w obrębie jednego skryptu z jednego bloku kodu, do innego, to sesja nie jest potrzebna, wystarczy zdefiniować zmienną np. $x = $_POST['x']; czy $_GET['x']. Tablice $_POST i $_GET mają to do siebie, że są superglobalne, więc dostęp do ich danych nie jest problematyczny i właściwie masz go w każdym miejscu skryptu, do którego zostały wysłane zmienne którąś z tych metod(POST lub GET). Jeżeli natomiast chciałbyś zrobić np. przekierowanie do innego skryptu, to użyj sesji. Możesz oczywiście zrobić przekierowanie ze zmiennymi (ale tylko jeśli wysłano metodą GET), poprostu przesyłasz odpowiednie parametry w adresie, np. window.location.href = 'jakis_inny_skrypt.php?zmienna1='.$_GET['zmienna1'].'&zmienna2='.$_GET['zmienna2'];

Ten post edytował darko 18.01.2010, 16:41:44


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
DeDmAn
post 18.01.2010, 17:25:58
Post #4





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 12.09.2006

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


darko gdy robie tak jak mówisz wyskakuje mi:

Cytat
Notice: Undefined variable: kwotapozyczki in D:\_www\Kancelaria Finansowa\xxx.php on line 16


Więc chyba zostaje sesja
Go to the top of the page
+Quote Post
darko
post 18.01.2010, 18:02:37
Post #5





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Cytat(DeDmAn @ 18.01.2010, 17:25:58 ) *
darko gdy robie tak jak mówisz wyskakuje mi (...)

Pokaż, jak robisz.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
lnn
post 18.01.2010, 19:49:44
Post #6





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


ja bym zrobil tak
  1. $_SESSION['odbieranie_danych'] = true;
  2. // odebranie danych z formularza i zapis do sesji
  3. $_SESSION['etap_1'] = serialize($_POST);
  4.  
  5. //potem odserializowanie danych
  6. $etap_1 = unserialize($_SESSION['etap_1'];
  7.  
  8. // i wywolujemy to co pobrales po nazwie
  9. echo $etap_1['nazwa_pobranego_elementu'];
  10. echo $etap_1['nazwa_pobranego_elementu2'];
  11.  
  12. //itd ..


Ten post edytował lnn 18.01.2010, 19:51:33
Go to the top of the page
+Quote Post
thek
post 18.01.2010, 19:54:52
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Pewnie definiujesz tę zmienną poza zasięgiem. Poczytaj ciut o zasięgu zmiennych to zrozumiesz, że jeśli zmienna ta powinna być widoczna tam gdzie chcesz, to nie może się ona pojawiać znikąd. Zmienna zdefiniowana w obrębie funkcji warunkowej, switch i wszelkich pętlach jest widoczna tylko w nich. Po ich zakończeniu ulega zniszczeniu. By to ominąć musiz deklarować je wcześniej zmieniać wewnątrz pętli i wtedy możesz ją odczytać na innym etapie już poza strukturą kontrolną.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
darko
post 18.01.2010, 23:24:25
Post #8





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


~thek ma rację, jednak jak wcześniej wspomniałem są to tablice superglobalne, do których masz cały czas dostęp.


--------------------
Nie pomagam na pw, tylko forum.
Go to the top of the page
+Quote Post
thek
post 19.01.2010, 09:03:27
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ja się odniosłem do zmiennej kwota_pozyczki wskazywanej błędem, bo jakby nie spojrzeć nie wygląda mi to na żadną daną z tablicy $_POST, $_GET, $_SESSION, $_REQUEST tylko jakąś lokalną smile.gif Co prawda może gdzieś jest przypisanie, ale nadal pewnie do zmiennej lokalnej, której czas życia kończy się przed linią z błędem. Gdybyśmy wiedzieli jak wygląda kod do linii 16 włącznie to pomogło by to Nam zapewne ustalić przyczynę lepiej.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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: 30.06.2025 - 00:55