Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Przekazywanie wartości zmiennch między podstronami
danon198901
post 11.10.2012, 12:34:41
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 26.09.2012

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


Witam,
mam problem z przekazaniem wartości z podstrony...może źle podchodzę do tematu i idę na około, więc zacznę od początku.
Strona będzie tworzyła dokument PDF o określonej (wybranej) liczbie stron.
Pierwsza podstrona zawiera:

  1. <input type="text" name="ilosc_stron" size="2" maxlength="2" />


co odbieram sobie w kolejnej podstronie (po zatwierdzeniu przyciskiem 'Dalej'):

  1. $ilosc_stron = $_POST['ilosc_stron'];


Na tej podstronie generowane również są textarea:

  1. for($i=1; $i<=$ilosc_stron; $i++)
  2. {
  3. echo '<center><h2>STRONA NR'.$i.'</h2><br />';
  4. echo 'Naglowek strony: <input type="text" name="naglowek'.$i.'" size="20" /> <br />';
  5. echo '<textarea name="tresc'.$i.'" cols="50" rows="35">Tutaj piszemy co chcemy umieścić na danej stronie dokumentu...</textarea><br/></center>';
  6. }



Problem polega na tym, że poźniej żeby użyć informacji przekazywanych do strony w której będę generował dokument muszę je 'wyciagnac' z tablicy $_POST (np. jak wcześniej $ilosc_stron = $_POST['ilosc_stron']; ).

Informacje o ilości stron przekazuje miedzy stronami za pomocą pola hidden:

  1. echo '<input type="hidden" name="ukryte_dane" value="'.$ilosc_stron.'" />';
  2.  
  3. ...
  4.  
  5. $ukryte_dane = $_POST['ukryte_dane'];



Pytanie brzmi jak odebrać wszystkie dane? Przykładowo wybieram 5 stron dokumentu i w momencie generowania PDF chciałbym zrobić coś w ten deseń:

  1. for($i=1; $i<$ukryte_dane; $i++)
  2. {
  3. $naglowek<$i> = $_POST['naglowek<$i>'];
  4. }


aby każdy nagłowek został 'zapisany' i wykorzystany w dokumencie wg. uznania. Nie wiem czy dobrze opisałem wszystko, ale mam nadzieję, że ktoś rozgryzie ten chaos i zrozumie co 'poeta' miał na myśli:)
Go to the top of the page
+Quote Post
KotWButach
post 11.10.2012, 12:43:51
Post #2





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

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


$_POST, $_GET, session, wzorzec registry.
Go to the top of the page
+Quote Post
danon198901
post 11.10.2012, 12:50:12
Post #3





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 26.09.2012

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


Można jaśniej? O tablicy $POST i $GET czytałem jednak nie przychodzi mi na myśl jak to rozwiązać w podanym przeze mnie przykładzie.
Go to the top of the page
+Quote Post
L00zak
post 11.10.2012, 13:07:22
Post #4





Grupa: Zarejestrowani
Postów: 58
Pomógł: 5
Dołączył: 2.05.2006

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


Jeśli masz kilka stron pomiędzy którym chcesz przezywać zmienne, to bez sensu przekazywać je poprzez $_POST czy $_GET, bo muszisz powielać wysyłanie danych od storny 1 np. do 5. Dane które uzyskujesz z 1 strony zapisz sobie do sesji czyli do zmiennej $_SESSION['nazwa_zmiennej'], zmienne te są przechowywanie do końca trwania sesji (długość zależna od konfiguracji serwera), czyli ok 30min od ostatniego odświeżenia strony. jeśli chcesz sobie przypisać konkretne zmienne do strony to użyj większej tablicy np. $_SESSION['nr_strony']['nazwa_zmiennej']='wartość';

Poźniej nie przez FOR ale przez
foreach ( $_SESSION['nr_strony'] as $nr_strony)
{
echo $nr_strony; //co wyświetli 'wartość', 'wartość2' itd
}

no i poczytaj o sesjach i tablicach:) powodzenia

Ten post edytował L00zak 11.10.2012, 13:10:26
Go to the top of the page
+Quote Post
danon198901
post 11.10.2012, 15:18:30
Post #5





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 26.09.2012

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


Dzięki wielkie za wskazówkę...poczytam i zobaczę co uda się wyskrobaćsmile.gif
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.04.2024 - 01:18