![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki oto problem:
Pisze sobie stronkę w php. Linki w menu mają następującą postać: http://localhost/Projekt/index.php?page=felietony W pliku index.php mam taki oto fragment kodu php: [php:1:d8cd2972ec]<? if(!isset($page)) { $page="index"; } if(file_exists("strony/$page.inc")) { include "strony/$page.inc"; } else { echo "Strona niedostępna!"; } ?>[/php:1:d8cd2972ec] Wszystkie podstrony (np. felietony.inc) mam umieszczone w katalogu strony. I problem polega na tym, że za gdy będąc off-line, czli korzystając z jakiegoś serwera (korzystawłem w Apache z php, teraz zainstalowałem FoxServ) po kliknięciu na link ni pokazuje się treść owego pliku o rozszerzeniu *.inc, tylko za każdym razem ostrzeżenie "Strona niedostępna!", a adres w polu, w którym wpisuje się adresu pojawia się taki, jaki ma być, czyli: http://localhost/Projekt/index.php?page=felietony Więc dlaczego to nie działa!!! Pomóżcie proszę!!! Tylko nie piszcie "zainstaluj krasnala" !!! |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Cytat I problem polega na tym, że za gdy będąc off-line, czli korzystając z jakiegoś serwera
1. To off-line czy nie?! 2. Na pewno istnieje taki plik? Sprawdź rozszerzenia. 3. Spróbuj przeczytać TO i zrobić tak: [php:1:cd30937569]<?php if(!empty($HTTP_GET_VARS["page"])) { $HTTP_GET_VARS["page"]="index"; } if(file_exists("strony/".$HTTP_GET_VARS["page"].".inc")) { include "strony/".$HTTP_GET_VARS["page"].".inc"; } else { echo "Strona niedostępna!"; } ?> [/php:1:cd30937569] Poza tym lepiej stosuj rozszerzenie .inc.php, ponieważ nie wszystkie serwery obsługują rozszerzenie .inc - wtedy wszystko widać na dłoni: hasła, loginy itd. -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Już jest lepiej, bo działa jak klikam na linki
![]() Tylko, że gdy jest taki adres: http://localhost/Projekt/index.php Pokazuje się takie coś Warning: Undefined index: page in d:phpfoxservwwwprojektindex.php on line 49 Strona niedostępna! Co teraz?? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zrób tak:
[php:1:69449eff2a]<?php $page=$HTTP_GET_VARS["page"]; if(!empty($page)) { $page="index"; } if(file_exists("strony/".$page.".inc")) { include "strony/".$page.".inc"; } else { echo "Strona niedostępna!"; } ?> [/php:1:69449eff2a] i powinno być OK. -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Teraz wszedzie pisze strona niedostepna, a w indexie nadal to samo
!! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
To zapodaj linię nr 49.
-------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
$page="index";
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
usuń z linii nr 3 (na tej stronie) wykrzyknik (!).
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
wszytsko dziala
tylko znowu to na indexie Warning: Undefined index: page in d:phpfoxservwwwprojektindex.php on line 46 TO JEST INDEX.php |
|
|
![]()
Post
#10
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 717 Pomógł: 0 Dołączył: 12.06.2002 Skąd: Wolsztyn..... Studia: Zielona Góra Ostrzeżenie: (0%) ![]() ![]() |
Czy $_GET['page'] tez zwraca ten blad?
Wydaje mi sie, ze masz wlaczone pokazywanie nawet bledow typu E_NOTICE w php.ini, bo one wlasnie takie rzeczy pokazuja... jesli nie chcesz tego zmieniac to sprobuj tak: [php:1:19016fe374]<?php $page = (isset($_GET['page']))?$_GET['page']:"index"; if(file_exists("strony/".$page.".inc")) { include "strony/".$page.".inc"; } else { echo "Strona niedostępna!"; } ?>[/php:1:19016fe374] |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko działa, tylko, że w pliku index.php nadal sie pokazuje taki oto błąd:
Warning: Undefined index: page in d:phpfoxservwwwprojektindex.php on line 46 linia 46 to: $page=$HTTP_GET_VARS["page"]; Jeśli ktoś będzie umiał, bardzo proszę o pomoc! Następnie jest taka oto sprawa: Wszystkie strony mam umieszczone w katalogu "strony". i w plików "liga" o rozszerzeniu *.inc chce zrobić linki do innych stron (o tym samym rozszerzeniu) w katalogu "strony/historia". I nie wiem jak ma wyglądać kod, który powinienem wkleić do pliku "liga.inc", oraz jak powinna wyglądać składnia linku. Podejrzewam, że coś chyba takiego: <a href=index.php?page=liga&historia=1>plik 1</a> Bardzo proszę o pomoc. |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
start -> uruchom
i wpisz "notepad c:windowsphp.ini" potem odszukaj linijkę error_reporting = E_ALL i zamień na error_reporting = E_ALL & ~E_NOTICE amen -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
Tak własnie mam ustawione... więc
![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ale tą pierwszą czy drugą linijkę?
Jak masz tą drugą to takie ostrzeżenia nie powinny się pojawiać. -------------------- |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jemu pojawia się ostrzeżenie (warning), a nie notice...
Oznacza, że nie zdefiniowano $HTTP_GET_VARS['page']... -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
wiec jak to zdefiniowac
![]() |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 2 064 Pomógł: 1 Dołączył: 22.01.2003 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Ja na próbę dałem sobie E_ALL i pojawiały się takie same błędy. PRzywróciłem tą drugą linijkę i zniknęły...
-------------------- |
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat wiec jak to zdefiniowac
![]() Zainteresuj się funkcją [manual:09b3ca6652]isset[/manual:09b3ca6652]... Na takie błędy jest niezawodna... -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 7.04.2003 Ostrzeżenie: (0%) ![]() ![]() |
nie rozumiem......
|
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Jeśli przesyłasz jakąś zmienną w URL'u i robisz takie przypisanie musisz pilnować czy zawsze istnieje zmienna $HTTP_GET_VARS['page']. Jeśli na jakiejkolwiek stronie nie używasz jej to pojawia się tego typu warning oznaczający że po prostu nie została ona zdefiniowana...
Można się przd tym zabezpieczyć funkcją [manual:2e38306736]isset[/manual:2e38306736]. Np. [php:1:2e38306736]<?php $page = isset($HTTP_GET_VARS['page']) ? $HTTP_GET_VARS['page'] : 1; ?>[/php:1:2e38306736] Powyższe oznacza: jeśli istnieje zmienna page w URL'u przypisz jej wartość do zmiennej $page, jeśli nie przypisz np. 1... -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 03:00 |