Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak w sesji przeniesc dane ze strony na strone
Forum PHP.pl > Forum > Przedszkole
imashjan
Chodzi mi o to że mam 5 stron formularza, i chcę zrobić tak aby dopiero na 5 stronie była możliwość wysłania danych na serwer. Jak to zrobić by dane były zapisywane w sesji??
nospor
Cytat
a 5 stronie była możliwość wysłania danych na serwer. Jak to zrobić by dane były zapisywane w sesji??
blink.gif jesli dopiero na koncu wyslesz cos na serwer (submitniesz), to do sesji sie nie dobierzesz...
... ale zapewne tylko źle się wyslowiles winksmiley.jpg

po kazdej stronie robisz submit, zapisujesz dane do sesji i wyswietlasz kolejną stronę. a na koniec robisz ostatniego submita i w php pobierasz dane z ostatniej strony, a reszte stron pobierasz z sesji
eques
Zmienne mogą być przekazywane albo w sesji albo ukrytymi polami. Wstawiasz input hiden fields do formularza na każdej z podstron i przypisujesz im zmienne które wcześniej zostały zaciągnięte z $_POST lub $_GET. Mało eleganckie ale jak na początek ok.
Jesli chodzi o sesje na pierwszej stronie form
session_start()
na każdej następnej:
np.
$user=$_POST['user'];
session_register('user');
imashjan
możesz napisać przykład jednego takiego pola na jedenj stronie, i na drugiej, i jak mam te dane przekazac dane do sesji
revyag
index.php
  1. <?php
  2. $_SESSION["zmienna"] = "zmienna";
  3. echo '<a href="index1.php?'.SID.'">link</a>';
  4.  
  5. ?>

index1.php
  1. <?php
  2. echo $_SESSION["zmienna"];
  3. ?>
siutek
jesli chcesz to zrobic pomijajac sesje (przy uzyciu pol "hidden") robisz to tak:

- na pierwszej stronie wysylasz zawartosc formularza do drugiej strony z formularzem,
tam odbierasz dane i wrzucasz do hiddenow:
  1. <?php
  2.  
  3. echo "<input type='hidden' name='imie' value='".$_POST['imie']."'>";
  4. echo "<input type='hidden' name='nazwisko' value='".$_POST['nazwisko']."'>";
  5.  
  6. ?>

oczywiscie rodzaj zmiennej zalezny jest od metody wysylania danych - POST lub GET
i tak w kazdej podstronie, dodajac kolejne "hiddeny", pamietaj aby w 3 stronie formularza znow powtorzyc pola typu "hidden" z drugiej strony, no i dodac pola "łapiące" dane z 2 strony.

(wiem, zamieszalem - ale nie wiem jak to inaczej opisac tongue.gif)

natomiast z sesja wyglada to tak jak napisal eques, chociaz ja bym to zrobil jeszcze inaczej:

na drugiej stronie:
  1. <?php
  2.  
  3. $_SESSION['imie'] = $_POST['imie'];
  4. $_SESSION['nazwisko'] = $_POST['nazwisko'];
  5.  
  6. ?>

po czym na kazdej kolejnej stronie formularza dorzucac takie linijki tylko z odpowiednia zmienna smile.gif


mozliwosci jak widzisz jest kilka smile.gif
powodzenia
imashjan
wielkie dzieki dalej juz sobie poradze, jeszcze raz wam dziekuje
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.