Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Przekazywanie danych pomiedzy stroami
Forum PHP.pl > Forum > PHP
pys1986
Jak mozna przeslac kilka zmiennych miedzy stronami questionmark.gif tylko w adresie odpada, cookie i sesje tez smile.gif
Dex1987
$_POST (jak np nie chcesz miec inputa to poczytaj o tym jak zrobic to na zwyklych linkach), jesli to tez odpada mozesz zapisywac dane do bazy w nastepnej podstronie je odczytac i usunac z bazy (troche malo wydajne).
pys1986
a z tym $_POST jak mialo by to wygladac questionmark.gif
Levabul
Pierwszy raz słyszę aby istniała możliwość wysyłania danych przez POST w linku, a zresztą jeżeli nawet istniała by taka możliwość (w co wątpie) to według pierwszego posta Pys'a 'w adresie odpada' tak więc linki odpadają tongue.gif
ebe
A dlaczego sesje odpadają? Po to one są.... Sprecyzuj co to za 'dane'
aleksander
jeżeli chcesz przez $_POST, poczytaj o protokole http sekcja POST smile.gif a potem funkcja header()
batman
$_POST byłby najlepsztm rozwiązaniem. Jeśli chcesz przesyłać te zmienne postem, to stwórz formularz z polami typu hidden i w nich przekazuj zmienne.
yavaho
Sesje odpadaja i baza danych tez odpada - bo po pierwsze to w jaki sposób przekazac zmienne do tej sesji lub do bazy? Troche logiki! Ja nie widze innych mozliwosci jak $_POST lub $_GET
batman
Zmienne do sesji przekazujesz w taki sposób:

  1. <?php
  2. $_SESSION['zmienna']=$zmienna;
  3. ?>


A do bazy tak:

  1. <?php
  2. mysql_query("INSERT INTO tabela VALUES('".$zmienna1."','".$zmienna2."')");
  3. ?>
aleksander
Cytat(yavaho @ 2005-09-03 19:21:29)
Sesje odpadaja i baza danych tez odpada - bo po pierwsze to w jaki sposób przekazac zmienne do tej sesji lub do bazy? Troche logiki! Ja nie widze innych mozliwosci jak $_POST lub $_GET

po prostu mnie zgasiłes. prosze wyjasnij to zdanie bo chyba kazdy je rozumie inaczej niz bylo Twoim zamiarem blink.gif
pys1986
Ja zostane jednak przy sesjach DZIEKI
yavaho
Cytat(aleksander @ 2005-09-03 19:25:56)
Cytat(yavaho @ 2005-09-03 19:21:29)
Sesje odpadaja i baza danych tez odpada - bo po pierwsze to w jaki sposób przekazac zmienne do tej sesji lub do bazy? Troche logiki! Ja nie widze innych mozliwosci jak $_POST lub $_GET

po prostu mnie zgasiłes. prosze wyjasnij to zdanie bo chyba kazdy je rozumie inaczej niz bylo Twoim zamiarem blink.gif

Jezeli klient, ktory znajduje sie na stronie A ma przekazac do strony B jakas informacje w postaci zmiennej, to musi chyba w cos kliknac, musi miec jakis wybor z posrod kilku mozliwosci? I dopiero na stronie B nastapi przypisanie tej zmiennej do sesji lub do bazy danych. Wiec w jaki sposob zostanie przeslana ta informacja ze strony A do B?

Jezeli klient nie ma zadnego wyboru, to chyba nie ma mowy o zadnym przekazywaniu zmienych pomiedzy stronami. W takim przypadku od razu na samym wejsciu klienta na strone A mozna przypisac ta zmienna do sesji lub bazy.

Pytanie na poczatku tego watku bylo jasne: "Jak mozna przeslac kilka zmiennych miedzy stronami questionmark.gif " A nie jak ustawic stałą.
crash
Wniosek jeden: Nie zrozumiałeś pytania. EOT.
php programmer
Ja ostanio znalazłem na takie coś własny patent.

(oczywiscie jak zwykle pewnie, będzie pełno postów, że to jest do d....
że sie w ogóle nie znam, i że w ogóle powinienem się najlepiej nie odzywać..
mimo to, wtrące swoje 5 groszy)

Otóż ostatnio wymysliłem coś takiego, aby zrobić kilka DIV'ów
(na początku ustalonych jako niewidoczne)
każdy udaje podstronę, tzn.
w momencie kliknięcia na odpowiedni link
funkcja javascript (a więc po stronie przegladarki)
uwidacznia odpowiedniego DIV'a (a poprzedniego chowa)
Jako że jest to cały czas ten sam dokument, wszystkie dane w formularzach
nie są zatracane, a dopiero ostatni link wysyła wszystkie dane na serwer.

Ma to taką zaletę, że jet szybkie, bo nie łączy się z serwerem
podczas "zmiany strony" (czyli tak naprawde zmiany DIV'a)
a jedynie dopiero na końcu.
crash
Czyli całą treść trzeba pobrać odrazu? Po co? Słyszałeś o AJAX'ie?
php programmer
Cytat(crash @ 2005-09-05 18:33:16)
Czyli całą treść trzeba pobrać odrazu? Po co? Słyszałeś o AJAX'ie?

Właśnie pobranie całej tresci od razu jest bardzo dobrym rozwiązaniem.
Każdy wie, zę jak jest dużo małych plików (o niewielkich rozmiarch)
to wszytko dzieje sie wolniej niż jak jest np w jednym pliku ale troche większym.

np skasowanie 1000 plików o łacznej wadze 1 MB
trwa dłużej niż skasowanie jedego pliku o wadze 1 MB.
To samo jest z kopiowaniem i przesyłeniem plików od serwwera do klienta.

a przeciętny dokument html ma kilka kilobajtów
więc kilka takich plików scalonych w jeden
to najwyżej niecałe 50 kiloajtów, to nie jest chyba kolosalny rozmiar dla pliku.

ps. nie słyszałem o ajaxie (ale to był chyba jakiś proszek do prania winksmiley.jpg )
crash
Nie wiem jakie strony robisz, ale u mnie rzadko jedna podstrona zajmuje mniej niż 100kB... A i po co zmuszać kogoś kto by chciał zobaczyć tylko jedną konkretną podstronę do ściągania wszystkiego...
php programmer
Cytat(crash @ 2005-09-05 18:48:58)
Nie wiem jakie strony robisz, ale u mnie rzadko jedna podstrona zajmuje mniej niż 100kB... A i po co zmuszać kogoś kto by chciał zobaczyć tylko jedną konkretną podstronę do ściągania wszystkiego...

Być może, ale z samej treści zapytania, wynika raczej, że jest to coś w rodzaju,
kilkuetapowego formularza, a więc klient i tak by pobrał następne strony.

Wygląd oraz style się nie zmieniają, jedyne co się zmienia to pola formularzy, więc tym bardziej można by wcisnąć to do jednego pliku. Ja już raz coś takiego zastosowałem i to okazało się dobre. Teraz już chyba tylko w ten sposób będę takie coś rozwiązywał, przedtem używałem ukrytych pól przesyłanych POST'em
lub też COOKIE, ale właśnie przez takie coś bardzo łatwo było mi się pogubić,
trzeba pilnowac tych tablic. a tak to problem plam znaka sam.
yavaho
Cytat(batman @ 2005-09-03 19:23:50)
<?php
session_start();
$_SESSION['zmienna']=$zmienna;
?>
To jest tylko przypisanie zmiennej do sesji, ta operacja odbywa sie na serwerze. Ale najpierw ta zmienna trzeba jakos przeslac z przegladarki klienta na serwer.

Cytat(crash @ 2005-09-04 11:12:06)
Wniosek jeden: Nie zrozumiałeś pytania. EOT.
To ja bym poprosil o uswiadomienie o co chodzi w tym watku winksmiley.jpg
Czy chodzi tu o przeslanie iformacji od klienta na serwer? Czy tylko na serwerze pomiedzy stronami?
crash
Na 90% chodzi o zwykłe zachowanie stanu, czyli przesłanie danych pomiędzy kolejnymi wywołaniami strony, jeśli to pozostałe 10% to już musi się wypowiedzieć autor wątku.
Dex1987
Cytat(Levabul @ 2005-09-03 18:11:31)
Pierwszy raz słyszę aby istniała możliwość wysyłania danych przez POST w linku, a zresztą jeżeli nawet istniała by taka możliwość (w co wątpie) to według pierwszego posta Pys'a 'w adresie odpada' tak więc linki odpadają tongue.gif

Wez czlowieku przeczytaj jeszcze raz co ja napisalem i co napisal autor tego tematu.

Pozdrawiam.
Sh4dow
nie wiem moze nie wyczailem o co chodzi w temacie, chodzi przesylanie danych miedzy stronami czy podstronami ? bo to zasadnicza roznica. Jesli strony maja rozne domeny to odpadaja ciastka zazwyczaj i sesja. i pozostaje _GET albo _POST. Oczywiscie istnieja jeszcze inne metody komunikacji jak socket, albo xml-rpc lub soap.
przekazywanie danych miedzy podstronami:
  • ciastka
  • sesja
  • post (mozna przeslac link moze byc skryptem JS ktory syle ukryty formularz, lub odwola sie do akcji ktora wysle posta za pomoca socketa)
  • get (wiem ze niechciany ale jest mozlisc, nie uwzgledniamy tutaj)
  • pliki (ustalona nazwa dla podstron na tym samym serwerze)
  • baza danych o ustalonych parametrach
Przekazanie stron miedzy stronami:
  • post (podobnie jak przy podstronach)
  • get (takze odpada, ale istnieje mozliwosc)
  • plik (istnieje mozliwosc utworzenia pliku dostepnego globalnie, ale z powodu bezpieczenstwa odradzam podobnych praktyk)
  • web Service (czyli soap, xml-rpc, pozniej ewentualne przekierowanie na strone docelowa)
To chyba tyle na ten temat.
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.