• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Podstrona html zmiena swoje tło, jak to naprawić?

VPS Starter Arubacloud
0 głosów
902 wizyt
pytanie zadane 30 kwietnia 2015 w HTML i CSS przez Gandalf Obywatel (1,260 p.)

Witam, jestem początkującym webmasterem i ogólnie programistą, nie dawno zacząłem uczyć się tworzyć strony poznałem znaczniki HTML a teraz uczę się CSS,

stworzyłem pliki: index.html i style.css

ale jak napisałem podstrony oferta.html, formularz.html to nie wyświetla mi tła które wcześniej podczepiłem do pliku index.html. Jak miałbym zrobić główny plik index.html i podpiąć podstrony aby tło zostało niezmienne a zawartość podstrony wyświetlona na stronie?

proszę pomóżcie, dziękuję z góry :)

3 odpowiedzi

+2 głosów
odpowiedź 30 kwietnia 2015 przez Gandalf Obywatel (1,260 p.)

Ok działa Panowie! :) kwestia literówki potrafiła cały kod zburzyć, ale dziękuję za pomoc :)

Mam za to drugie pytanie, pomyślałem o podstronach bardziej dynamicznych czyli wybierając z menu "oferta.html" musiałbym użyć kodu PHP aby tylko w jednym miejscu podmienić treść strony?

komentarz 30 kwietnia 2015 przez Arkadiusz Waluk Ekspert (288,770 p.)

Najprościej będzie zrobić to tak jak mówisz przez PHP przekazując parametr przez GET jaką stronę należy obecnie wyświetlić. Czyli mamy np. taki kod PHP:

<!--tutaj początek witryny, menu itp-->
<?php
if($_GET['strona']=='informacje')
{
echo 'Podstrona z informacjami....';
}
else
if($_GET['strona']=='kontakt')
{
echo 'Kontakt';
}
//itd....
?>
<!--tutaj dalsza część witryny-->

Jest to kod, który powinien znależć się w miejscu, w którym ma zmieniać się treść. Wszystko co ma być na stronie zawsze powinno znaleźć się poza tymi warunkami ;)

Dla przykładu żeby otworzyć podstronę kontakt i zakładając że plik nazywa się index.php wyglądałoby to tak:

jakistamadres.pl/index.php?strona=kontakt

Oczywiście adres taki nie jest może piękny ale temu też można zaradzić. Wystarczy skorzystać z mod_rewrite czyli przepisywania adresów. Umożliwiają one zdefiniowanie odpowiednich reguł przepisywania linków dzięki czemu możemy np. zrobić z powyższego przykładu adres jakistamadres.pl/kontakt czy właściwie dowolny inny. Wszystko sprowadza się do zapisania reguł w jednym pliku no i później umieszczeniu odpowiednich linków na stronie oczywiście.

komentarz 30 kwietnia 2015 przez Gandalf Obywatel (1,260 p.)
mogę prosić Cię o rozwinięcie wątku dotyczącego mod_rewrite i .htaccess? będę wdzięczny :)
komentarz 30 kwietnia 2015 przez jaca121212 Nałogowiec (40,760 p.)
komentarz 30 kwietnia 2015 przez Arkadiusz Waluk Ekspert (288,770 p.)

Oczywiście mogę jeszcze coś podpowiedzieć. Jak rozumiem nie masz jeszcze nic gotowego tak? Po prostu opiszę Ci ogólnie jak to wygląda.

Wszystkie reguły dotyczące mod_rewrite umieszczamy w pliku .htaccess. Można zrobić nimi wiele rzeczy - od przepisywania adresów, obsługi błędów serwera aż po blokowanie zasobów czy rozmaite przekierowania.

Aby uruchomić mod_rewrite (oczywiście musi też obsługiwać je serwer) należy stworzyć wspomniany plik i umieścić w nim najpierw linijkę RewriteEngine ON Następnie wpisujemy już normalnie wszystkie reguły, każdą w nowej lini.

Wracając do przykładu który podałem wcześniej - przykładowa reguła mogłaby wyglądać tak:

RewriteRule ^kontakt$ index.php?strona=kontakt

Mówi ona po prostu tak: zamień kontakt na index.php?strona=kontakt. I tylko tyle. Znaki ^ i $ oznaczają odpowiednio początek i koniec szukanego wyrażenia. Można oczywiście rozwiązać to jeszcze inaczej np. tak, że nie trzeba będzie wypisywać listy wszystkich podstron jakie mamy:

RewriteRule ^([a-z0-9-_]+)/?$ index.php?strona=$1

Oznacza to tak: zamień adresy zawierające litery lub cyfry lub znaki - lub _ (i ich dowolną ilość co oznacza +) na adres index.php?strona= i tu będzie podstawione to co zostało znalezione. Czyli do tej reguły pasuje np. adres kontakt, kontakt12345 czy kontakt_do-mnie. Wszystkie te adresy będą działały z tą regułą i zostaną przepisane przykładowo na adres index.php?strona=kontakt12345. $1 jest po prostu taką jakby zmienną - tym co zostało znalezione, która zostanie podstawiona. Zapomniałem jeszcze wspomnieć o /? które napisałem pod koniec wyrażenia. Oznacza to, że będą akceptowane również adresy ze / na końcu czyli np. kontakt/. Znak zapytania oznacza, że dany znak będzie akceptowany ale nie jest konieczny.

Warto jeszcze wspomnieć o jednej tzw. fladze, która pozwala na ustawienie jakby danej opcji do reguły. Przykładowa flaga to: [L]. Jest chyba najcześniej wykorzystywana, gdyż oznacza ona, że jeśli przy wczytywaniu strony odpowiednie dopasowanie zostanie znalezione, to nie są już sprawdzane kolejne. Przydatna rzecz - jeśli mamy dużo różnych reguł to można troszeczkę przyspieszyć czas wczytywania strony zakładając że dana reguła może znajdować się na początku, a cały plik może zawierać masę reguł i być bardzo długi.

Flagi zapisujemy zawsze na końcu a jeśli jest ich kilka to w jednych nawiacach po przecinkach. Przykładowy adres z tą flagą wyglądałby tak:

RewriteRule ^([a-z0-9-_]+)/?$ index.php?strona=$1 [L]

Listę flag możesz znaleźć m.in. tutaj http://httpd.apache.org/docs/2.4/rewrite/flags.html. Co prawda po angielsku, ale myślę że można trochę się dowiedzieć.

W internecie znajdziesz też pewnie wiele różnych przykładów dotyczących mod_rewrite także też możesz poczytać. W razie gdybyś miał jakiś konkretny kod co do tego to napisz, to pomogę napisać coś konkretnego. Tutaj podałem Ci taki prosty przykład przepisywania na podstawie tego, co opisałem wyżej. Mam nadzieję, że w miarę zrozumiale udało mi się wytłumaczyć :D Jeśli będziesz miał jeszcze jakieś pytania to dawaj śmiało ;)

0 głosów
odpowiedź 30 kwietnia 2015 przez Ehlert Ekspert (213,900 p.)
Może nie podpiąłeś plliku css?
0 głosów
odpowiedź 30 kwietnia 2015 przez Arkadiusz Waluk Ekspert (288,770 p.)
Na każdej z podstron musisz mieć takie same style CSS. Masz tak na pewno? Do każdego pliku podpięty jest plik ze stylami CSS?

Jeśli możesz pokaż cały kod to będzie prościej :)

Podobne pytania

0 głosów
1 odpowiedź 270 wizyt
pytanie zadane 27 lipca 2019 w Inne języki przez mawerty Użytkownik (800 p.)
0 głosów
2 odpowiedzi 398 wizyt
pytanie zadane 25 kwietnia 2016 w HTML i CSS przez tirex Gaduła (4,430 p.)
0 głosów
1 odpowiedź 155 wizyt

92,979 zapytań

141,941 odpowiedzi

321,185 komentarzy

62,303 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...