Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML][CSS]Wczytywanie zawartości plików
Forum PHP.pl > Forum > Przedszkole
Ludwik94
Witam, to mój pierwszy post na tym forum, więc witam wszystkich i liczę na długi pobyt tutaj. Najpierw jako pytający, potem odpowiadający. Mój pierwszy problem napotkałem przy tworzeniu prostego serwisu który ma mi służyć jako ćwiczenie i sprzyjać zdobywania doświadczenia. Chciałbym stworzyć serwis www oparty o szablon stworzony przy pomocy php. Jak to chciałem zrobić przedstawiam poniżej.
  1. <?php
  2. if(is_file("menulewe.php"))
  3. {
  4. include "menulewe.php";
  5. }
  6. else { echo "<br />Błąd! Wybrana strona nie istnieje!";}
  7. ?>


1. problem - nie wiem jak nadać plikowi menulewe.php dostępu do zewnętrznego pliku css, tak jak w zwykłych plikach HTML. Plik menulewe.php nie może być stroną www (brak <html><head><body> i innych elementów) tylko zwykłym plikiem *.html z menu serwisu. Chodzi mi aby to wstawić w plik menulewe.php tak aby działało (ten css). Zrozumiale to napisałem?
  1. <link href="style.css" type="text/css" rel="stylesheet">


2. problem - Czy tak stworzony serwis nie będzie miał problemów z pokazaniem się wyszukiwarce? Wyszukiwarka zobaczy tylko mało mówiące o stronie kod php i html. Sytuacja trochę podobna do ramek.

3. - może macie jakiś inny sposób, aby strona była szablonem i stałe elementy wczytywały się z jednego pliku? CMS wolałbym uniknąć, ponieważ chce samemu zrobić grafikę na stronę i bardziej pracować w kodzie.

Dziękuje za pomoc. Pozdrawiam.
Daiquiri
Gdzieś te tagi <html> mieć musisz. Jeżeli styl css umieścisz w pliku głównym, w którym includujesz inne pliki to wystarczy. Include działa na zasadzie ctrl+c ctrl+v, więc jeżeli ostylujesz plik index.php a w nim będziesz include'ował menulewe.php to style z pliku głównego będą stosowane w menulewe.php.
Ludwik94
Nie chcę dawać <html> ponieważ serwis mam na darmowym cba i na końcu pliku dodaje mi stopkę "Darmowy Hosting CBA.PL", albo coś podobnego.
Działa dziękuje.
A jak z pozycjonowaniem?
mmica
Hey ;]

Cytat
Nie chcę dawać <html> ponieważ serwis mam na darmowym cba i na końcu pliku dodaje mi stopkę "Darmowy Hosting CBA.PL", albo coś podobnego.

Ekhemm.. Jeżeli tego nie dodasz to martw się o poprawne wyświetlanie Twojej strony! Przeglądarki niby to zinterpretują jako html, ale dbaj o standardy! Poza tym z tego co widzę, to tę stopkę można ukryć dodając coś takiego do css:
  1. div.cbalink{display:none;}

.. ale bardziej interesuje mnie ten fragment:
Cytat
Wyszukiwarka zobaczy tylko mało mówiące o stronie kod php i html.

Co do HTML to zgoda winksmiley.jpg, ale skryptu PHP poza Tobą nie zobaczy nikt. I czy HTML określający stronę jest "mało mówiący" dla robotów wyszukiwarek?

Pozdrawiam,
mmica

//edit: Niezgodność ze standardami z pewnością nie wpłynie pozytywnie na pozycjonowanie i indeksowanie strony.
Daiquiri
Cytat(mmica @ 2.12.2010, 21:47:11 ) *
Poza tym z tego co widzę, to tę stopkę można ukryć dodając coś takiego do css:
Czy to aby nie jest nielegalne? Wprawdzie nie czytałam regulaminu tego hostingu, ale domyślam się, że stopka jest obligatoryjna.

Nie bardzo rozumiem "jak z pozycjonowaniem?" Kod php, jak już wspomniał mmica jest "niewidoczny" dla wyszukiwarek, które zobaczą jedynie to, co wygenerowane do np. HTML. Nie rozumiem jednak, dlaczego twierdzisz, że kod HTML byłby dla wyszukiwarek niezrozumiały smile.gif.
mmica
@Daiquiri: Za moich czasów nie było to przestępstwem happy.gif, ale lepiej niech sobie przeczyta co i jak, ale sądzę, że gdyby im to przeszkadzało to nie dodaliby klasy do tego div'a.

Pozdrawiam,
mmica
Ludwik94
Sorki, zapomniałem jak działa php.

Cytat
Ekhemm.. Jeżeli tego nie dodasz to martw się o poprawne wyświetlanie Twojej strony! Przeglądarki niby to zinterpretują jako html, ale dbaj o standardy!


Cytat
Include działa na zasadzie ctrl+c ctrl+v,


Jeżeli faktycznie tak jest to wręcz nie powinno się umieszczać znaczników <html> w kodzie. Ponieważ include wczyta niepotrzebne znaczniki w środku dokumentu.

Czyli jednak nie powinno być problemu z pominięciem znaczników <html> itp. jeżeli on zawartość pliku wczytuje po stronie serwera a potem i tak przeglądarka przetwarza gotowy kod html na strone www.
Daiquiri
Owszem znaczniki HTML pomijasz w dołączanym pliku. Znaczniki te, powinny się jednak pojawić w pliku głównym, np.

index.php:
  1. <html>
  2. <head><!-- tutaj css --></head>
  3. <body>
  4. <?php include('TwojPlik.php'); ?>
  5. </body>
  6. </html>

TwojPlik.php:
  1. <?php echo "wyświetlasz plik TwojPlik.php"; ?>

I tym sposobem, przeglądając źródło strony index.php w przeglądarce zobaczysz:
  1. <head><!-- tutaj css --></head>
  2. wyświetlasz plik TwojPlik.php
  3. </body>
  4. </html>


@mmica
Zasadniczo nie ma potrzeby zabezpieczania tego typu stopek, bo zawsze można to ominąć. Jednak regulamin może obligować do posiadania stopki (w końcu hosting jest darmowy) smile.gif.
Ludwik94
To że trzeba trzeba użyć znaczników html w głównym dokumencie (index.php) to jest logiczne i wiadome. Nie brał bym się za php bez znajomości html'a i CSS. Wszystko co chciałem wiedzieć w tym temacie, to wiem, temat można zamknąć. Dopisać do tematu [SOLVED]? Dziękuje wam za pomoc.
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.