![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie!
PHP uczę się od dzisiaj można powiedzieć. Zamierz rozbudowywać swoją stronę w oparciu własnie o ten język. I niestety, już pierwszego dnia muszę zadać pytanie na forum. Szukałem odpowiedzi, jednak nawet nie wiem do końca gdzie i jak jej poszukiwać. Mam na stronie pewne menu: <li><a href="index.php?inc=news">Aktualne</a></li> <li><a href="index.php?inc=zzz">plik nie istniejący</a></li> następnie posiadam taki o to krótki strypcik: <?PHP @$strona=$_GET['inc']; if (file_exists('inc/'.$strona.'.php')) include('inc/'.$strona.'.php'); else include('inc/error.php'); ?> I myślę, że nie którzy już wiedzą o co mi chodzi. Gdy klikamy w link, który ma załadować nie istniejący w plik w miejscu $strona, pojawia nam się strona nazwana error.php. Do tego momentu działa to idealnie. Jednak gdy wpiszę swój adres, sam, pojędynczy index.php ładuje mi stronę error.php - co oczywiście wynika ze skryptu, wszystko działa prawidłowo. Chciałbym to rozwiązać w taki sposób, aby domyslnie samo index.php ładowało się wraz z news.php, a dopiero po wybraniu nie istniejącego linku index.php?inc=zzz ładowało domyslnie error.php. Przyznam szczerze, próbowałem różnych metod, jednak wszystko bezskutecznie. Pozdrawiam Forti -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
Np.
Kod @$strona=$_GET['inc'];
if (isset($_GET['inc'])) { if (file_exists('inc/'.$strona.'.php')) include('inc/'.$strona.'.php'); else include('inc/error.php'); } else { //załaduj stronę główną $strona="news"; include('inc/'.$strona.'.php'); } Ten post edytował mar1aczi 4.05.2014, 18:39:41 -------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 2 Dołączył: 4.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
używaj tagów php na forum
Skorzystaj z funkcji empty oraz isset isset zwraca czy zmienna istnieje czy nie. !empty zwróci ci true jeśli zmienna bedzie miała sensowną wartość. @edit: to co napisał przedmówca nie zadziała poprawnie jak ktoś wyśle zapytanie na adres "index.php?inc=" bo zmienna $_GET['inc'] będzie miała wartość pustego łańcucha, ale będzie zadeklarowana. Ten post edytował adeptofvoltron 4.05.2014, 18:42:18 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Rozwiązanie mar1aczi również próbowałem. Działa dobrze ale często wywala błąd i bez powodu pokazuje stronę error.php nawet gdy link jest prawidłowy.
Z tym esset i empty muszę poczytać, szczerze to nie wiem jak to umiejscowić w kodzie. -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 731 Pomógł: 141 Dołączył: 9.05.2011 Skąd: śląskie Ostrzeżenie: (0%) ![]() ![]() |
@edit: to co napisał przedmówca nie zadziała poprawnie jak ktoś wyśle zapytanie na adres "index.php?inc=" bo zmienna $_GET['inc'] będzie miała wartość pustego łańcucha, ale będzie zadeklarowana. i zadziała funkcja file_exists, a że pliku nie ma to zostanie załadowany "error.php", ![]() Ten post edytował mar1aczi 4.05.2014, 18:53:46 -------------------- Szanuj innych czas! Kliknij
![]() |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 51 Pomógł: 2 Dołączył: 4.09.2013 Ostrzeżenie: (0%) ![]() ![]() |
mar1aczi przepraszam. masz rację.
forti to jakie ci blędy sypie? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
hm... faktycznie, twój schemat działa prawidłowo. Szybciej wyskakiwał błąd po wpisaniu index.php?inc=. Dzięki za pomoc, widać dużo muszę się nauczyć jeszcze, a już ambicje mam na system logowania i uprawnień do dodawania i komentowania 'newsów'.
@adeptofvoltron po wpisaniu index.php?inc= a następnie wybraniu linku istniejącego wywalało error.php, jednak kolega chyba coś zmienił w kodzie, obecna forma działa prawidłowo z funkcją isset i file_exists. Ten post edytował Forti 4.05.2014, 18:59:31 -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 21:28 |