Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]przekazywanie kilku zmiennych przez GET
Forum PHP.pl > Forum > Przedszkole
newbbbie
Witam...

od jakiegos czasu mam pewien problem....

staram się wykodzić jakiegoś cmsa(w celach edukacyjnych:P) no i mam problem z przekazaniem zmiennych przez geta... klikając na zakładkę "Edytuj nagłówek" link wygląda tak: localhost/admin.php?str=edytuj naglowek... w momencie wsadzę tam formularze(tez na GET) zalozmy jest tam zmienna nazwa=jakasnazwa wtedy ?str=edytuj naglowek mi znika a pokazuje sie nazwa=jakasnazwa...

da się jakoś zapętlić żeby ?str=edytuj naglowek byl zapamietywany??

pozdrawiam
nospor
jesli przesylasz formularz metodą GET, to wszystkie gety z action znikają. Wysylaj formularz metodą POST - w zasadzie każdy formularz lepiej wysylac tą metodą, no chyba ze komus naprawdę z jakiś dzikich powodów jest potrzebny get
webspy
Chcesz przenieść GET na stronę z formularzem a gdy go wyślesz też chcesz aby ten GET był przeniesiony na tą stronęquestionmark.gif

Jeśli dobrze zrozumiałem możesz to zrobić w ten sposób:

  1. echo "<form enctype=\"multipart/form-data\" action=\"index.php?str=".$_GET['naglowek']."\" method=\"GET\">";


Ja też jednak polecam metodę POST

Możesz też zapisać str jako session wtedy ten argument będzie zawsze pod ręką a możesz to zrobić tak:

  1. $_SESSION['str'] = $_GET['naglowek'];

Wywołasz go na stronie przez:

  1. $naglowek = $_SESSION['str'];
  2. echo "Nazwa to: $naglowek";


Jeśli coś pomieszałem proszę mnie poprawić, też jestem początkujący.
Pawel_W
Cytat(webspy @ 6.01.2010, 18:27:40 ) *
Chcesz przenieść GET na stronę z formularzem a gdy go wyślesz też chcesz aby ten GET był przeniesiony na tą stronęquestionmark.gif

Jeśli dobrze zrozumiałem możesz to zrobić w ten sposób:

  1. echo "<form enctype=\"multipart/form-data\" action=\"index.php?str=".$_GET['naglowek']."\" method=\"GET\">";


Ja też jednak polecam metodę POST

Możesz też zapisać str jako session wtedy ten argument będzie zawsze pod ręką a możesz to zrobić tak:

  1. $_SESSION['str'] = $_GET['naglowek'];

Wywołasz go na stronie przez:

  1. $naglowek = $_SESSION['str'];
  2. echo "Nazwa to: $naglowek";


Jeśli coś pomieszałem proszę mnie poprawić, też jestem początkujący.

Boże, czytaj ze zrozumieniem - taki sposób nie działa...

przy GET wszystko po ? z adresu znika, trzeba zrobić to tak:
  1. <form method="get" action="plik.php">
  2. <input type="hidden" name="nazwa_zmiennej_ktora_chcesz_przeslac" value="wartosc" />
  3. </form>
webspy
Bardzo przepraszam za pomyłkę, Dlatego jeszcze zaproponowałem metodę POST albo sessia.
newbbbie
a czy w ogóle w profesjonalnych projektach wykorzystuje się tą metodę którą zaproponowałem(ew przekazanie przez POST) czy w jakiś inny sposób te wartości są przekazywane?
webspy
Cytat(newbbbie @ 6.01.2010, 19:28:04 ) *
a czy w ogóle w profesjonalnych projektach wykorzystuje się tą metodę którą zaproponowałem(ew przekazanie przez POST) czy w jakiś inny sposób te wartości są przekazywane?

Jeśli chodzi o formularze to metoda POST jest jak dla mnie najlepsza, miedzy stronami polecam jeszcze session i cookies. Ale to tylko moje skromne zdanie, też zaczynam dopiero przygodę z PHP winksmiley.jpg
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.