Łopatologia MENU

0

Witam ponownie.
Wciąż nie rozwiązałem problemu MENU mojej strony, głównie dla tego, że nie bardzo rozumiem jak ono działa.

We wszystkich opracowaniach jakie znalazłem ten problem rozwiązywany jest tak lub podobnie:

<ul>
 <li><a href="pierwsza.php">Pierwsza</a></li>
 <li><a href="druga.php">Druga</a></li>
 <li><a href="trzecia.php">Trzecia</a></li>
 <li><a href="czwarta.php">Czwarta</a></li>
 <li><a href="piata.php">Piąta</a></li>
</ul>

Jednak ja potrzebuję za każdym razem przechodzić przez index.php jako stronę pierwszą i tam wykonać rozpoznanie która pozycja menu została kliknięta. Najprościej jak sądzę wykonać to przez 'POST' z pomocą '<FORM>' i obiektów '<BUTTON>' a rozpoznawać kliknięcie po '<BUTTON name="xxx">' za pomocą 'isSet($_POST['xxx'])'.

Tyle tylko, że nigdzie nie znalazłem takiego rozwiązania lub podobnego. Na obecną chwilę odpada JS ponieważ go nie znam, co już gdzieś w którymś wątku wcześniej napisałem. Pozostaje jakieś inne rozwiązanie. Jak więc można to zrealizować?

A może po prostu źle podchodzę do zagadnienia?
Naprowadźcie mnie na prawidłową ścieżkę waszym zdaniem.

0

poczytaj o $_get

<ol>
        <li><a href="index.php">Pokaż drinkiaaa</a></li>
        <li><a href="index.php?action=bbb">bbb</a></li>
        <li><a href="index.php?action=ccc">ccc</a></li>
    </ol>
elseif(isset($_GET['action']) && $_GET['action']=='bbb')
        echo $co->bbb();
0

Świetnie, ale czy da się to zrobić na 'POST'?
Nie chcę by w adresie było widać cokolwiek więcej niż adres.

0

Łopatologicznie to tak: metoda POST służy przede wszystkim jeżeli chcesz jakieś dane wysłać na serwer. Metoda GET - jeżeli chcesz jakieś dane otrzymać z serwera. Jeżeli dobrze rozumiem twój problem, to IMO użyj GET, a nie POST. W pasku adresu wskazane jest nawet, żeby była jasna informacja w której części serwisu użytkownik aktualnie się znajduje. Jeżeli przepuszczasz użytkownika za każdym razem przez index.php to daj w menu odpowiednie odnośniki, np: "index.php?mod=kontakt" i w index.php zrób obsługę dla GET['mod'].
Jeżeli chcesz dodatkowo użyć przyjaznych URL'i to poczytaj o "mod_rewrite".

edit: jest przyczyna dlaczego nie możesz znaleźć na necie przykładów nawigacji po stronie (menu) przy pomocy POST - ponieważ tak się nie robi.

0

OK
Rozumiem, o czym piszesz, ale w tym przypadku bardzo mi zależy na tym by w adresie NIE było nic poza samym adresem a już na pewno nie dane przesyłane z/do serwera.
Użytkownik i tak będzie wiedział gdzie jest, a ze względu na to, że wstępnie i tak wszystko będzie na SSL to samo wpisanie adresu z parametrami nic nie da.
Nie wiem, czy dobrze mnie zrozumiesz, ale ta strona musi być tak napisana. Tym bardziej, że przy okazji podczas klikania chcę przesyłać sporą ilość danych na co nie pozwala GET gdyż nie zmieszczą się w adresie przeglądarki.
Stąd mój nacisk na POST.

0

to poczytaj o ajax

0

@sunpietro: ale co ma ajax do tego? i tak musi wybrać GET albo POST, trzeciej opcji nie ma... poza tym menu na ajax? nie jest to przerost formy nad treścią?

@mag32:

Nie wiem, czy dobrze mnie zrozumiesz, ale ta strona musi być tak napisana.

No właśnie Cię nie rozumiem, co Ty chcesz "przesyłać w momencie klikania"? Jak masz formularz który user wypełnia danymi to rozumiem - wysyłasz dane na serwer więc POST. Ale przesyłanie "dużej ilości" danych podczas przejścia z jednej sekcji menu do drugiej?

0
marcinsvr napisał(a)

@sunpietro: ale co ma ajax do tego? i tak musi wybrać GET albo POST, trzeciej opcji nie ma... poza tym menu na ajax? nie jest to przerost formy nad treścią?

No właśnie, menu na AJAX to pewno za wiele, bez przesady, a właśnie zaczynam się zastanawiać czy by tego jakoś nie obejść i jednak zrobić na GET.

marcinsvr napisał(a)

@mag32:

Nie wiem, czy dobrze mnie zrozumiesz, ale ta strona musi być tak napisana.

No właśnie Cię nie rozumiem, co Ty chcesz "przesyłać w momencie klikania"? Jak masz formularz który user wypełnia danymi to rozumiem - wysyłasz dane na serwer więc POST. Ale przesyłanie "dużej ilości" danych podczas przejścia z jednej sekcji menu do drugiej?

No widzisz, będzie tam sporo ustawień, list wyborów itp które muszę na bieżąco zapisywać w DB. Coś mi się po prostu zdaje, że nie obędzie się bez JS a na AJAX i tak się skończy. Nie mogę przecież co najdrobniejszą zmianę przeładowywać strony. A będzie co przeładowywać.

0
<form id="menu" action="http://dokumencik.dev/dump.php" method="POST">
	<input type="hidden" name="stronka" />
	<ul>
 		<li><a href="pierwsza.php">Pierwsza</a></li>
 		<li><a href="druga.php">Druga</a></li>
 		<li><a href="trzecia.php">Trzecia</a></li>
 		<li><a href="czwarta.php">Czwarta</a></li>
 		<li><a href="piata.php">Piąta</a></li>
	</ul>
</form>

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$("#menu a").click(function(){
	$("input[name=\"stronka\"]").val( this.href );
	$("#menu").submit();
	return false;
});
</script>

Panowie, jedziemy.

0

Racja, menu główne powinno działać nie zależnie od przeglądarki a więc powinno być wykonane w technologii http ale można na samym początku sprawdzić z jakiej przeglądarki korzysta użytkownik i odpowiednio na to zareagować. Czyli co najmniej stosownym komunikatem na ekranie.

0

Jaką Ty stronę robisz? Na Lynxie będziesz ją odpalał? I to gadanie o HTTP to przyprawia tu chyba wszystkich o ból głowy.

0

@kofel po co ta frustracja? Przecież nikt Ci nie każe czytać moich postów a tym bardziej na nie odpowiadać.
Jak potrzebujesz wyładować swoje frustracje, to może idź na siłownię, albo na basen, czy coś...
Sądząc po emo w twoim Avatarze to by ci się chyba przydało.

0

Nie wiem o co chodzi. Pomagam? Pomagam. To Ty nie potrafisz z pomocy skorzystać. Proszę, skończ z najeżdzaniem na kogoś, bo to tak nie ładnie. (Czym jest emo?)

0

emo = emocje
Nie najeżdżam na ciebie, tylko czepiasz się, takie mam wrażenie.
Co ja z tym HTML, a nic właściwie, zależy mi na tym by strona była prosta na ile to możliwe za względu głównie na fakt, że będzie stroną dedykowaną. Bardziej jako interfejs do systemu niż jako strona. I tak będę musiał użyć AJAXa ponieważ będę korzystał z obiektów które użytkownik końcowy będzie musiał sobie przestawiać metodą podnieść-upuść.
Dla tego drążę temat. A że jawy się dopiero uczę, to nie do końca jestem zorientowany w jej możliwościach. O AJAX nie wspomnę nawet.
Na obecną chwilę muszę wykonać strukturę główną programu, ale do jej testowania potrzebuję proste, zażądzalne MENU.

Tyle.
Przepraszam, jeśli się poczułeś urażony. Uczucia to nie moja działka. Nie działam w ten sposób.

0

A do czego Ci potrzebne to, aby podstrona na której jest użytkownik była niewidoczna? Możesz spróbować z iframe. Skoro i tak korzystasz z JavaScriptu to użyj tego co Ci napisałem. Nie wiem w czym problem. Dałem Ci rozwiązanie na dokładnie taki problem z którym się borykałeś :)

Nie czuję się urażony, bo nie będę się przejmował osobą, której nie znam. Skoro Ci pomagamy to mniej emocji. Co do avatara, nie ma na nim żadnych emocji, ew. można się doszukać poglądów.

0
kofel napisał(a)

A do czego Ci potrzebne to, aby podstrona na której jest użytkownik była niewidoczna? Możesz spróbować z iframe. Skoro i tak korzystasz z JavaScriptu to użyj tego co Ci napisałem. Nie wiem w czym problem. Dałem Ci rozwiązanie na dokładnie taki problem z którym się borykałeś :)

Owszem i dziękuję bardzo.

Pozostałe wypowiedzi moje tyczyły się tego, że ktoś napisał, cytat kontekstowy: "a co będzie jeśli przeglądarka usera nie obsługuje JS"
Nic nie będzie, ponieważ jak to w przypadku systemów dedykowanych bywa tak i ten ma swoje wymagania a jednym z nich będzie obsługa JS, CSS i LDAP na serwerze firmy.

kofel napisał(a)

Nie czuję się urażony, bo nie będę się przejmował osobą, której nie znam. Skoro Ci pomagamy to mniej emocji. Co do avatara, nie ma na nim żadnych emocji, ew. można się doszukać poglądów.

I bardzo dobrze ja również i liczę na dalszą, owocną współpracę nie koniecznie tylko na forum, ale to na przyszłość, zważając na twoją wiedzę, w każdym razie w porównaniu ze mną w tej materii.

0

A to przepraszam, i proszę bardzo ;)

0
mag32 napisał(a)

Na obecną chwilę muszę wykonać strukturę główną programu, ale do jej testowania potrzebuję proste, ort! MENU.

Eh, "proste i zarządzalne" menu to Ci sunpietro podał w pierwszym poście, cała reszta (jeżeli chodzi o wykorzystanie w menu) to jak już pisałem przerost formy nad treścią i zła praktyka... ale to Twoja aplikacja więc rób jak uważasz.

0

Ale Ja MENU nie zamierzam robić na AJAX, tylko potrzebowałem wyjaśnień które tu udało mi się uzyskać, za co Wam wszystkim bardzo dziękuję.
Zaś niestety, a może właśnie stety ;) AJAXa i JS będę się musiał, chcąc nie chcąc nauczyć. PS Da się z JS wysyłać/pobierać dane MySQLDB ?

0
mag32 napisał(a)

Da się z JS wysyłać/pobierać dane MySQLDB ?
Za pomocą AJAX (PHP jako bramka/API)

1 użytkowników online, w tym zalogowanych: 0, gości: 1