![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 27.11.2008 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
Witam,
W PHP jestem nowicjuszem, więc proszę o wyrozumiałość. Piszę stronę od zera. W jaki sposób zrobić na stronie zmianę treści poprzez kliknięcie na odpowiednią pozycję w menu? Chodzi o to, że mam stronę główną index.php z menu po lewo i treścią na prawo od menu. Do ładowania treści chcę użyć funkcji include (nie wiem czy będzie ona odpowiednia do tego zadania). Chcę wyznaczyć zmienną ścieżki do include. Po uruchomieniu strony pierwszy raz, domyślnie wartość tej zmiennej ma być "news.html". Po kliknięciu w menu na np galeria, wartość zmiennej ma się zmienić na "gallery.html" i strona ma się odświeżyć z nową zawartością itd. Za wszelką pomoc będę bardzo wdzięczny. Pozdrawiam. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 13 Dołączył: 24.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ustaw w menu adresy:
Kod <a href="index.php?id=gallery">Galeria</a> W index.php odbierz zmienną z adresu: Kod <?php $id = $_GET['id']; ?> i przypisz do include'a: Kod <?php include($id.'.html'); ?> To nie jest bezpieczne wyjście, ale obrazujące problem. Poszukaj w sieci i poczytaj, jak się zabezpieczać w takich sytuacjach przed nieautoryzowanym dostępem do plików. Ten post edytował Ellington 14.03.2010, 21:38:49 -------------------- while ( !die() ) code();
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 27.11.2008 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
Wielkie dzięki! ;-)
Właśnie coś takiego chciałem otrzymać. A co do dostępu do "wrażliwych" plików to w Apache da się kontrolować za pomocą .htaccess. Mam jeszcze jedno pytanko jak zrobić by była podświetlona aktywna opcja w menu? EDIT: Jeszcze jedno banalne pytanie ;p Co zrobić, żeby przy pierwszym uruchomieniu automatycznie ładowało się news? Ten post edytował Madras 14.03.2010, 22:39:47 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
Ja proponuje zamiast:
Użyć switch. Co do drugiego pytania, na początku musisz sprawdzić czy istnieje zmienna $_GET['id'], jeśli jej brak includujesz news.php. W funkcji switch używasz default. Ten post edytował Rysh 15.03.2010, 06:03:31 -------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 163 Pomógł: 10 Dołączył: 9.11.2007 Skąd: Goleniów Ostrzeżenie: (0%) ![]() ![]() |
Cytat Użyć switch. Czy ja wiem myślę ze to jest bez większego znaczenia której funkcji się używa switch jedynie ładniej wygląda a IF jest wygodniejsza wiec jeżeli ci wygodniej to spokojnie użyj IF do tego dodam że Switch jest trochę wolniejsza od IF ![]() Apropo twojego tematu niekoniecznie musisz sprawdzać czy $_GET['id'] istnieje wystarczy że na poczatku zdefiniujesz $id np : Kod $id = '1'; Dzieki czemu potem każdy kto da nieistniejąca liczbę w $_GET['id'] wyświetli się główna strona a nie błąd ze strona nie istnieje ![]() -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 76 Pomógł: 13 Dołączył: 24.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli nie sprawdzisz, czy istnieje $_GET przed przypisaniem go do zmiennej, to w przypadku, gdy $_GETa nie będzie, php wyrzuci notyfikację, że zmienna z której chcesz przypisać nie istnieje - dobrą praktyką jest unikanie wszelkich uwag PHP, nawet tych niegroźnych, więc myślę, że warto poświęcić jedną linię kodu, żeby się upewnić.
-------------------- while ( !die() ) code();
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 821 Pomógł: 111 Dołączył: 11.09.2006 Skąd: Biała Podlaska Ostrzeżenie: (0%) ![]() ![]() |
Prawdę mówiąc nie rozumiem tego co piszesz:
Co Ci da że na początku zadeklarujesz że $id = 1 skoro za chwilę i tak ją nadpiszesz? -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 27.11.2008 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Jeśli wcześniej przepisujesz $_GET['id'] do jakiejś zmiennej, to w warunku if podajesz zamiast $_GET['id'] właśnie tą zmienną. No i tworzysz sobie w css klasę Oczywiście kolor może być inny. Ten post edytował mortus 15.03.2010, 13:00:18 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 27.11.2008 Skąd: Włocławek Ostrzeżenie: (0%) ![]() ![]() |
Dzięęki! ;-) Już wszystko działa jak powinno!
Hah, zamęczę was tymi pytaniami. Napisałem funkcję do przełączania podświetlenia, żebym nie musiał niczego kopiować.
Ale jest jakiś problem z return echo. Jak inaczej można to napisać? Ten post edytował Madras 15.03.2010, 19:25:57 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem Twoich intencji, ale taka funkcja nie ma prawa zadziałać, bo nie ma nigdzie zdefiniowanej zmiennej $id. Natomiast gdyby ta zmienna $id była, to aby wydrukować wynik tej funkcji należałoby napisać
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 06:38 |