![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Otóż mam taki problem. Chcę stworzyć linki do komponentów z funkcją get wyglądającą tak
$komponent = $_GET['komponent'] ; if ($_GET['komponent'] !== '') { switch ($komponent) { case $Komponent: global $Komponent; include("komponenty/$Komponent/$Komponent.php"); break; } } Zawartość case to $Komponent i ma się to odnosić do tego komponentu który wpisze w linku np. index.php?komponent=zaloguj czy index.php?komponent=artykuly i chcę aby mi się wyświetliła zawartość komponentu zaloguj. Podobnie ma być z innymi komponentami. Wartość include działa i odnosi się do komponentu w którym właśnie jestem. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
$_GET to nie funkcja
Zobacz jak się używa switch http://php.net/switch $Komponent != $komponent (wielkość znaków) Niepotrzebny ci ten global $komponent Wszystko masz NIE tak.
Ten post edytował wookieb 4.08.2009, 17:56:03 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
W miejscu case wpisuje nazwę komponetu i automatycznie ma mi wyświetlić zawartość tego komponentu.
Pisanie wszystkiego w ten sposób: $komponent = $_GET['komponent'] ; if ($_GET['komponent'] !== '') { switch ($komponent) { case "zaloguj": include("komponenty/zaloguj/zaloguj.php"); break; } } $komponent = $_GET['komponent'] ; if ($_GET['komponent'] !== '') { switch ($komponent) { case "artykuly": include("komponenty/artykuly/artykuly.php"); break; } } jest bezsensowne. Dodając w przyszłości nowe komponenty będę musiał ingerować w plik index.php. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
po 1: bbcode
po 2: ty chyba dalej nie wiesz jak switch działa ![]() |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Wiec podałem ci inna metodę. A dodatkowo nadal nie przeczytałeś jak się używa switch bo jego istnienie w twoim skrypcie jest bezsensowne.
Używaj BBCODE -------------------- |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
A można liczyć na twoją pomoc i napiszesz mi jak to ma wyglądać??
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Oczywiście, że możesz liczyć na moją pomoc.
Ma to wyglądać prawidłowo zgodnie z manualem na http://php.net/switch Angielski za trudny? http://www.google.pl/search?hl=pl&q=ph...mp;aq=f&oq= Ten post edytował wookieb 4.08.2009, 18:06:28 -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ok switch jest mi już znany.
Teraz chodzi mi o to case. Mam coś takiego: Kod <?php switch($_GET['act']) { case 'dodaj': echo 'Dodawanie danych'; break; case 'edytuj': echo 'Edycja danych'; break; case 'usun': echo 'Usuwanie danych'; break; default: echo 'Wyświetlenie danych'; } ?> W przeglądarce wpisze index.php?act=dodaj i wyświetli mi się Dodawanie danych. Mnie o to chodzi abym w miejscu tego case wpisał sobie nazwę komponentu czyli np: index.php?act=zaloguj i wyświetlił mi się dany komponent. Pod case dlatego pisałem include('komponenty/$Komponent/$Komponent.php) |
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A dlatego do tej jednej jedynej czynności podałem ci inny kod, którego nadal nie przeczytałeś i nie przetestowałeś.
-------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php $komponenty = array('zaloguj', 'inne_pierdoly'); $komponent='domyslny_komponent'; if(isset($_GET['komponent']) && in_array($_GET['komponent'], $komponenty)) { $komponent=$_GET['komponent']; } //tutaj sobie zalaczasz $komponent ?> Wszystko fajnie tylko teraz jak załączyć wiele komponentów. Jak na razie mogę tylko jeden. |
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
-------------------- |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Kod $komponenty = array('wyloguj', 'zaloguj'); $komponent='domyslny_komponent'; if(isset($_GET['komponent']) && in_array($_GET['komponenty'], $komponenty)) { $komponent=$_GET['komponent']; } include('komponenty/wyloguj/wyloguj.php'); include('komponenty/zaloguj/zaloguj.php'); I działa mi tylko komponent wyloguj. |
|
|
![]()
Post
#13
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Jezu... nie napiszesz jak krowie na miedzy to NIC sie nie domysli...
Ten post edytował wookieb 4.08.2009, 19:26:19 -------------------- |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 1 675 Pomógł: 286 Dołączył: 15.06.2009 Skąd: Wieliczka Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ostatnie pytanie gdzie mam wkleić to
Kod $komponenty = array('wyloguj', 'zaloguj'); $komponent='domyslny_komponent'; if(isset($_GET['komponent']) && in_array($_GET['komponenty'], $komponenty)) { $komponent=$_GET['komponent']; } include('komponenty/'.$komponent'./'.$komponent.'.php'); do tego Kod $Komponent = 'index'; require('silnik.php'); if($BazaDanych == 'mysql') { $ZapytanieStrona = 'SELECT * FROM '.$Prefix.'strona WHERE strona_id'; } if(!WykonajZapytanie($ZapytanieStrona)) { PokazBlad('Bł±d w zapytaniu',__FILE__,__LINE__,$ZapytanieStrona); } $Wynik = PobierzWynik(); $Wynik[0]['strona_tytul'] = stripslashes($Wynik[0]['strona_tytul']); $Wynik[0]['strona_tresc'] = stripslashes($Wynik[0]['strona_tresc']); $Wynik[0]['strona_keyword'] = stripslashes($Wynik[0]['strona_keyword']); $Wynik[0]['strona_desc'] = stripslashes($Wynik[0]['strona_desc']); $SlowaKuczowe = $Wynik[0]['strona_keyword']; $OpisStrony = $Wynik[0]['strona_desc']; $TytulStrony = $Wynik[0]['strona_tytul'].' - '; $koomponenty = array('zaloguj', 'inne_pierdoly'); Szablon(); aby nie mieć tego Kod Parse error: parse error in c:\usr\krasnal\www\victorio\index.php on line 11 I bardzo dziękuję za pomoc. pozdro |
|
|
![]()
Post
#16
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Literówka, którą mogłeś sam poprawić...
-------------------- |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 4.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Oto gotowy kod
Kod global $Komponent; if(isset($_GET['komponent'])) { $komponent=$_GET['komponent']; } include('komponenty/'.$komponent.'/'.$komponent.'.php'); I działa jak należy. Dzięki wielkie za pomoc. pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:28 |