Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Funkcja GET
Forum PHP.pl > Forum > Przedszkole
deadiana
Mam pewien problem związany z poleceniem GET na stronie http://www.dennisonakursy.pl Opiszę sytuację:
Na górze znajduje się menu i po klikaniu na odpowiednie pozycje włącza się strona w DIVie poniżej. Problem pojawia się po wybraniu "Szkolenia". Na tej podstronie umieściłam podmenu i chciałam, żeby po kliknięciu na odpowiedni kurs obok w DIVie pojawił się opis. W tym DIVie umieściłam następujący kod:
  1. <?php
  2. $opcja=$_GET['opcja'];  
  3. switch ($opcja) {  
  4. case 'kinezjologia' : include ('kinezjologia.php'); break;  
  5. case 'dotyk' : include ('dotyk_dla_zdrowia.php'); break;  
  6. case 'art' : include ('art_kinezjologia.php'); break;  
  7. case 'eft' : include ('eft.php'); break;  
  8. case 'tance' : include ('tance_w_kregu.php'); break;  
  9. default : include ('szkolenie.php');  
  10. }
  11. ?>

a w podmenu taki:
  1. <div id="menu2"><table width="200" border="0" cellspacing="0" cellpadding="0">
  2. <tr>
  3. <td class="nopad"><img src="images/menu2_top.gif" width="200" height="22" /></td>
  4. </tr>
  5. <tr>
  6. <td class="tlo"><a href="index.php?strona=szkolenia&opcja=kinezjologia">Kinezjologia edukacyjna - Metoda Dennisona</a></td>
  7. </tr>
  8. <tr>
  9. <td class="tlo"><a href="index.php?strona=szkolenia&opcja=dotyk">Dotyk dla Zdrowia</a></td>
  10. </tr>
  11. <tr>
  12. <td class="tlo"><a href="index.php?strona=szkolenia&opcja=art">Art - Kinezjologia</a></td>
  13. </tr>
  14. <tr>
  15. <td class="tlo"><a href="index.php?strona=szkolenia&opcja=eft">EFT - techniki emocjonalnej wolności</a></td>
  16. </tr>
  17. <tr>
  18. <td class="tlo1"><a href="index.php?strona=szkolenia&opcja=tance">Tańce w kręgu</a></td>
  19. </tr>
  20. <tr>
  21. <td class="nopad"><img src="images/menu2_down.gif" width="200" height="22" /></td>
  22. </tr>
  23. </table>
  24. </div>


I tu pojawia się problem... Po pierwsze nie wiem czemu,ale dwa pierwsze odnośniki nie działają od początku. Dalsze trzy ładują strony, ale potem następuje całkowite zablokowanie podmenu.
Czy moglibyście mi powiedzieć co zrobiłam nie tak?
piotrooo89
ja nie jestem do switch'a przyzwyczajony ale zrobił bym to tak:

  1. <?php
  2. if ($_GET['opcja'] == 'kinezjologia')
  3. {
  4.    include ('kinezjologia.php');
  5. }
  6. elseif ($_GET['opcja'] == 'dotyk')
  7. {
  8.    include ('dotyk_dla_zdrowia.php');
  9. }
  10. elseif ($_GET['opcja'] == 'art')
  11. {
  12.    include ('art_kinezjologia.php');
  13. }
  14. elseif ($_GET['opcja'] == 'eft')
  15. {
  16.    include ('eft.php');
  17. }
  18. elseif ($_GET['opcja'] == 'tance')
  19. {
  20.    include ('tance_w_kregu.php');
  21. }
  22. elseif (empty($_GET['opcja']))
  23. {
  24.    include ('szkolenie.php');
  25. }
  26. ?>


i menu robiły na listach nieuporządkowanych ( <ul> )
guilty82
switch wyglada poprawnie, moze masz cos zwalone w stylach?
deadiana
Nie sądzę... jedyne co jest nowego to id="opis" w tym DIVie, w którym ma się wyświetlać opis kursu (http://dennisonakursy.pl/styl_php.css),
#opis {
position: relative;
top: 10px;
width: 710px;
margin-left: 10px;

}


ale dlaczego akurat pierwsze dwa linki w menu nie działają i skąd ta blokada menu po wczytaniu trzech ostatnich pozycji?
piotrooo89
patrzyłaś w ogóle w źródło tej strony? jest tam jedna paćka. chyba z 6 razy zadeklarowane doctype, arkusze stylów etc. ogólnie rzecz biorąc bajzel. wydaje mi się że style robią kaszane, ale to jest tylko takie przeczucie ponieważ z źródła nic się nie da wyznać.
deadiana
Doctype i style są zadeklarowane raz, ale kiedy wybór pozycji w menu inkluduje plik to robi to z całym kodem i rzeczywiście muszę coś z tym zrobić. Dopiero się uczę PHP, dlatego piszę w "Przedszkolu"... W ogóle powinnam zrezygnować z treści head'a w plikach, których używam w include?
piotrooo89
pliki które doklejasz (inkludujesz) nie muszą mieć już stylów, doctype. ma tam być tylko tekst z znacznikami formatującymi.

czyli zamiast w pliku który ma być inkludowany robić tak:

  1. tu stye
  2. </head>
  3. <div>jakiś tekst</div>
  4. </body>
  5. </html>


dajesz:

  1. <div>jakiś tekst</div>
deadiana
Dzięki, to cenna uwaga. Tylko, że chyba head muszę zostawić, bo tam ma się znajdować skrypt do statystyk. Ale switch nadal nie działa, chyba rzeczywiście spróbuję z if...
piotrooo89
Cytat(deadiana @ 22.02.2009, 22:50:20 ) *
Ale switch nadal nie działa


wkleiłem u siebie tego switch'a i ładnie wszystko hulało... więc chyba nie tu błąd.
deadiana
To rzeczywiście chyba nie jest kwestia switcha, bo z if było to samo. Teraz wyłączyłam style odpowiedzialne za to menu i w ogóle zmieniłam je na tekstowe. Wiele to nie pomogło - dla odmiany ładuje się pierwszy i ostatni odnośnik (oraz przedostatni, ale tylko jak się kliknie na pierwszą literę...), tyle, że po włączeniu odpowiedniej pozycji inne blokują się w menu. Już zupełnie nie wiem o co chodzi...
piotrooo89
ja bym zaczął od uporządkowania całego kody. dojścia do jakiegoś ładu. no ale to moje zdanie.
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.