Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> przesyłanie zmiennych POSTem nie z formularza
szczypior
post 16.09.2007, 13:33:15
Post #1





Grupa: Zarejestrowani
Postów: 98
Pomógł: 0
Dołączył: 5.02.2007

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


Witam

Piszę skrypt stronicowania wyników z mysqla. Z form wysyłany jest POSTem i odbierany przez skrypt który wprowadza jego wartość w zapytanie sql i wyświetla wyniki, ale tylko na pierwszej stronie. Gdy wcisnę przycisk przejścia do następnej strony wyników nie ma bo wartość zmiennej POSTowej przepadła.
Jak można przekazać zmienne "dalej" POSTem, albo innym sposobem? GET oczywiście odpada.

Dziękuję i pozdrawiam
Andrzej


--------------------
Pytania i odpowiedzi na każdy temat - ZapytajSie.pl
Darmowe aliasy i liczniki odwiedzin - RFV.pl
Go to the top of the page
+Quote Post
trafas
post 16.09.2007, 14:03:00
Post #2





Grupa: Zarejestrowani
Postów: 87
Pomógł: 12
Dołączył: 31.05.2006

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


Witam.

Możesz sobie zrobić skrypt zapisujący zapytanie do pliku tekstowego a poźniej wywoływać funkcję odczytującą to zapytanie, ale to by spowolniło działanie skryptu no i pozostaje wtedy do rozwiazania problem nazewnictwa plików no i później ich kasowanie.

Lepszym sposobem będzie wystartowanie sesji i trzymać "wartość zmiennej POSTowej" w zmiennej sesji. Na każdej następnej stronie wystarczy że będziesz startował sesję ( session_start(); ) i możesz się odwoływać do zmiennej sesji. Będzie cały czas dostępna między stronami.
Go to the top of the page
+Quote Post
WebCM
post 16.09.2007, 18:10:56
Post #3





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


Znalezione pozycje zapisz w bazie danych lub w pliku tekstowym / INI (aby użytkownik mógł się nimi podzielić przez komunikator), natomiast w adresie strony (GET) przekazuj ID wyszukiwania i stronę. POST ma służyć tylko do przekazania kryteriów - za pierwszym razem. smile.gif W ten sposób zmniejszysz obciążenie serwera.


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
qqrq
post 16.09.2007, 21:52:00
Post #4





Grupa: Zarejestrowani
Postów: 418
Pomógł: 8
Dołączył: 16.11.2006

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


Cytat(szczypior @ 16.09.2007, 14:33:15 ) *
Jak można przekazać zmienne "dalej" POSTem, albo innym sposobem?


Wystarczy, że stworzysz (pętlą na ten przykład) tyle pól hidden formularza ile masz zmiennych POST (i oczywiście przypiszesz im odpowiednie wartości).

EDIT =>

  1. <?php
  2. foreach ($_POST as $k => $post)
  3. echo '<input type="hidden" name="'.$k.'" value="'.$post.'" />';
  4. ?>


Ten post edytował qqrq 17.09.2007, 10:13:20


--------------------
Go to the top of the page
+Quote Post
Istalacar
post 16.09.2007, 22:07:06
Post #5





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

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


Ewentualnie AJAX (który jest ostatnio popularny przy komentarzach, lub księgach gości), lub javascript który wyśle wszystkie wymagane dane przez post do skryptu jakie potrzeba;).
Go to the top of the page
+Quote Post
WebCM
post 17.09.2007, 18:50:49
Post #6





Grupa: Zarejestrowani
Postów: 375
Pomógł: 20
Dołączył: 28.07.2006

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


Na liście pozycji link "usuń" oparty jest o AJAX. Z jednej strony to bezpieczniejsze i szybsze, a z drugiej - kto ma wyłączony JS, nie wykona operacji. Co o tym myślicie?


--------------------
„Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
Go to the top of the page
+Quote Post
Istalacar
post 17.09.2007, 19:11:51
Post #7





Grupa: Zarejestrowani
Postów: 108
Pomógł: 4
Dołączył: 3.03.2007

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


Jeśli chcesz się pobawić to możesz zamieścić zwykły odnośnik do usunięcia, a potem w javascript dodać kod który podmieni go na wersję ajaxową.
Go to the top of the page
+Quote Post
pertu
post 21.08.2008, 17:24:03
Post #8





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 14.05.2008

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


cześć party.gif
Cytat(trafas @ 16.09.2007, 15:03:00 ) *
Lepszym sposobem będzie wystartowanie sesji i trzymać "wartość zmiennej POSTowej" w zmiennej sesji.


Cytat(qqrq @ 16.09.2007, 22:52:00 ) *
Wystarczy, że stworzysz (pętlą na ten przykład) tyle pól hidden formularza ile masz zmiennych POST (i oczywiście przypiszesz im odpowiednie wartości).


mam takie pytanko, które s tych rozwiązań jest bardziej lepsze, profesjonalne? Forum.php.pl chyba z sesji korzysta ?

z góry dzięki za odpowiedź


--------------------
podróże, randki, wczasy, dla singli, wakacje, urlop, imprezy
Go to the top of the page
+Quote Post
kemot
post 21.08.2008, 21:28:10
Post #9





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 27.09.2007

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


Ja myśle że sesja, tylko że do tego dochodzą kwestie zwiazane z bezpieczeństwem (szyfrowanie danych, zakończenie sesji session_destroy(); gdy praca z formularzem zostanie zakończona).
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: 24.07.2025 - 18:37