Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Strona oparta na include
Forum PHP.pl > Forum > PHP
Demerzel
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.
Babcia@Stefa
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
oscar17
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...
Demerzel
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ź.
oscar17
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ę....
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.