Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Strona oparta na include, Jak zrobić wybór stron z menu bez przycisku submiz z formularza?
Demerzel
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 14.08.2007

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


Witam.
Tworze stronę która korzysta z głównego pliku podzielonego na tabele, do tabeli za pomocą include ładuje strony. po lewej stronie znajduje się menu i tu powstaje problem. Przyjmijmy, że w menu mam napisane jeden pod drugim wyrazy "firma 1 firma 2 firma 3...". Jak zrobić aby po naciśnięciu na który kol wiek z tych wyrazów ponownie została załadowana strona z równoczesnym utworzeniem zmiennej $_POST['wybor'] w której znajdzie się wybrany wyraz. Przy czym przycisk formularza submit odpada, staram się również unikać JavaScript.

Ten post edytował Demerzel 22.06.2008, 10:14:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Babcia@Stefa
post
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Jeśli rozumiem Twój problem to myślę że jedynie możesz Ajaxu użyć...

Ale nie wiem jeszcze dokładnie...
Poczekamy na wypowiedzi innych użytkowników smile.gif


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
oscar17
post
Post #3





Grupa: Zarejestrowani
Postów: 102
Pomógł: 22
Dołączył: 3.03.2008

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


Nie no z AJAXem bym nie przesadzał.
Jeżeli chciałbyś formularzem i POSTem wysłać to możesz do zdarzenia onclick danego linka przypisać form.submit().
A jeżeli chcesz uniknąć JavaScript to można by to przesłać zmienną $_GET[], wtedy przy linku dajesz
  1. <a href='?wybor=1'>link</a>

a w PHP zczytujesz zmienną $_GET['wybor'].
To niestety pozostawi Ci w adresie strony niemiły ciąg, ale możesz jeszcze poczytać o mod rewrite w .htaccesie i dla każdego wyboru dodać inny url, np. dla wybor=1 dać '/home', dla wybor=2 dac '/whatever' i wtedy linki będą wyglądały tak 'www.adres_strony.pl/home' lub 'www.adres_strony.pl/whatever', a faktycznie będą zwracały zmienne $_GET['wybor'] 1 lub 2 i na podstawie tego będziesz mógł includować odpowiednie treści...
Go to the top of the page
+Quote Post
Demerzel
post
Post #4





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 14.08.2007

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


oscar17 wygląda na to, że pomysł z _GET będzie działał, chodź niepowiem _GET też wolał bym uniknąć. Niestety pokazuje swoją zawartość w adresie co nie jest do końca dobre. Tymniemniej chwilowo tak zrobie. Dziękuje Ci za podpowiedź.
Go to the top of the page
+Quote Post
oscar17
post
Post #5





Grupa: Zarejestrowani
Postów: 102
Pomógł: 22
Dołączył: 3.03.2008

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


Jeśli chciałbyś się pozbyć tego $_GETa z ciągu znaków możesz zrobić coś takiego, że np. masz stronę www.adres.pl
przesyłasz wybor getem czyli masz link do np. www.adres.pl/index.php?wybor=1
masz taki kod:
  1. <?php
  2. if ($_GET['wybor'])
  3. {
  4. $_SESSION['wybor'] = $_GET['wybor'];
  5. header('Location: http://www.adres.pl');
  6. }
  7. ?>

jeżeli jest przesłana getem zmienna 'wybor' to zostanie zapisana do sesji i wysłany nagłówek z przekierowaniem na adres bez getów (jeżeli masz więcej możesz z $_SERVER['QUERY_STRING'] wyciąć tylko ten GET którego chciałbyś się pozbyć, a resztę zostawić w przekierowaniu)
a potem w miejscu gdzie includujesz to sczytujesz wartość nie z $_GET['wybor'] a z $_SESSION['wybor']
Choć nie wiem czy takie rozwiązanie jest dobre, może się ktoś jeszcze wypowie, jednak raczej polecałbym Ci skorzystać z mod_rewrite, na forum na pewno znajdziesz dużo opisów!

btw. Popraw temat bo masz literówkę....

Ten post edytował oscar17 21.06.2008, 22:21:16
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 Aktualny czas: 19.08.2025 - 17:33