Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Przekazywanie wartości zmiennch między podstronami
Forum PHP.pl > Forum > PHP
danon198901
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:)
KotWButach
$_POST, $_GET, session, wzorzec registry.
danon198901
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.
L00zak
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
danon198901
Dzięki wielkie za wskazówkę...poczytam i zobaczę co uda się wyskrobaćsmile.gif
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.