Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XAMPP][PHP] Problem z wyświetlaniem strony
Forum PHP.pl > Forum > PHP
adus10
Witam!
Używam XAMPP'a. Mam problem odnośnie wyświetlania strony. W HTML'u i CSS'ie jest wszystko OK. Problem jest gdy dołączam plik za pomocą include() w PHP. Na localhost jest źle wyświetlana strona przez Firefox'a, Google Chrome'a i Safari, natomiast, gdy odpalę ją przez Operę, Internet Explorer'a lub wrzucę ją na hosting to wszystko jest OK na wszystkich przeglądarkach. Nie wiem czy to przez złą interpretacje danych przez przeglądarki, może jakiś błąd w XAMPP'ie albo jakiś błąd w kodzie.
Kod include'owanie pliku
  1. <div id="side">
  2. <?php include($documentRoot.'/files/parts/side.php'); ?>
  3.  
  4. </div>


Kod side.php
  1. <article class="side_one">
  2. <header class="side_header"><h2 class="side_title">Przykładowy tytuł</h2></header>
  3. <div class="side_text">
  4. <p>Przykładowe Dane<br />Przykładowe Dane<br />Przykładowe Dane</p>
  5. </div>
  6. </article>


Screenshot błędu o którym mowa


A tu wszystko dobrze
gitbejbe
co zamiera zmienna $documentRoot ?

jeśli pełną ścieżkę do pliku to się nie dziw, że nie działa

ścieżkę zaczynasz od dokumentu z projektem - czyli tam gdzie masz index.html/php . czyli jeśli w folderze z projektem plik do załączenia masz np w folderze o nazwie "inc" to ścieżka jaką należny wpisać w include będzie taka "inc/nazwa_pliku.php" <- ta wesja będzie działać lokalnie i na zewnętrznym serwerze

na serwerze chodzi bo założę się, że twoja zmienna $documentRoot pokazuje Twoją domenę, a lokalnie pełną ścieżkę z dysku, np : D:/xampp/htdocs/ itd
adus10
  1. $documentRoot = $_SERVER['DOCUMENT_ROOT'];

Czy takie podawanie ścieżki do pliku jest niepoprawne? Powinienem to robić przez używanie ścieżek względnych?
gitbejbe
$_SERVER['DOCUMENT_ROOT']

lokalnie zwróci tobie pełną ścieżkę do pliku - tak jak napisałem będzie to np: D:/xampp/htdocs itd - czyli błąd

jeśli chodzi o include to nie spotkałem sie jeszcze w żadnym projekcie aby ścieżki były podawane w sposób , który Ty zaprezentowałeś : )

idąc tym tokiem rozumowania to dla wskazania pliku CSS w sekcji head też powinieneś wstawić $_SERVER['DOCUMENT_ROOT'] ;p

ścieżka do pliku zaczyna się zawsze od pliku wykonawczego, więc jeśli odpalasz strone z index.html z katalogu głównego, to dla include zaczynasz ścieżkę zawsze od tego miejsca.
Wszyscy i wszędzie zawsze wpisują - jak to ująłeś, ścieżki względne : )
adus10
Zmieniłem kod na:
  1. include('/files/parts/side.php');

I dalej pokazuje się ten błąd. Myślę, że jest to wina przeglądarek (Firefox'a, Google Chrome'a i Safari).
gitbejbe
pokaż błąd

nie wiem czy ten znak ma znaczenie(nie mam jak teraz tego sprawdzić), ale usuń / przed files, czyli include('files/parts/side.php'); (ja go nigdy nie wpisuje)
po za tym, include musi działać bez względu na przeglądarkę. Jeśli include nie działa, to źle po prostu wpisujesz ścieżkę
adus10
Ten błąd to tylko błąd wyświetlania, który pokazałem na obrazku, że panel boczny jest opuszczony lekko w dół.

Include działa, tzn. pokazuje się jego treść, ale w tych trzech ww. przeglądarkach include jest opuszczony lekko w dół. Usunąłem tego slash'a i dalej źle wyświetla. Dobra niech ten błąd zostanie. Ważne, że na hostingu dobrze na wszystkich przeglądarkach wyświetla.
gitbejbe
ha ! no to już wsio wiadomo ; )

masz złe kodowanie pliku. zainstaluj sobie np notepad ++ i utwórz dokument php z kodowaniem UTF-8 BEZ BOM - możesz również przekonwertować istniejący plik na te kodowanie, ale lepiej stworzyć nowy plik i go powielać dla innych dokumentów, mi czasami konwersja nic nie daje

i po Twoim problemie : ) ten enter to typowe zachowanie braku kodowania bez BOM dla include

ps: cały czas myślałem, że masz problem z wczytaniem pliku sciana.gif sorki ale siedze w robocie no i wiesz... ;p
Dejmien_85
Tak jak napisał gitbejbe - to musi być wina kodowania. Ustaw sobie UTF bez BOM.

PS Jakiego edytora/IDE używasz do pisania kodu?
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.