Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wyświetlanie elementu tylko na danej stronie
-krzysiuus-
post
Post #1





Goście







Panowie może mnie nakierujecie jak wykonać coś takiego aby dany element div był dostępny tylko na stronie głownej a nie na podstronach?


Uwaga nie ma za bardzo możliwości przypisania id dla osobnej podstrony.
Używam systemu getsimplecms jakby komuś to pomogło.

Go to the top of the page
+Quote Post
modern-web
post
Post #2





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


W tablicy $_SERVER znajdziesz adres żądania, możesz na jego podstawie stwierdzić czy jest to strona główna, czy też nie. Wyrażenie regularne może się przydać.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
-krzysiuus-
post
Post #3





Goście







  1. <?php
  2.  
  3. $_SERVER['SERVER_NAME'];
  4.  
  5. if ($_SERVER['SERVER_NAME'] == 'http://strona.pl/')
  6. {
  7. echo 'OK';
  8. }
  9. else
  10. {
  11. echo 'blad';
  12. }
  13.  
  14. ?>


Coś w tym stylu?
Go to the top of the page
+Quote Post
modern-web
post
Post #4





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

Ostrzeżenie: (0%)
-----


Sprawdzałbym jednak wyrażeniem regularnym ile masz "/" albo coś, chyba że chcesz uzależnić swój skrypt od domeny.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
-krzysiuus-
post
Post #5





Goście







Tak może być uzależniony od domeny.

Głównie chodzi mi o to że jeżeli np. jestem na stronie głównej domeny to wyświetla mi się "<div class="AAA">cos tam</div>" a jeżeli jestem na podstronach to ma się wyświetlać "<div class="BBB">cos tam jeszcze innego</div>"
Go to the top of the page
+Quote Post
ikssde
post
Post #6





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

Ostrzeżenie: (0%)
-----


A jak wygląda odnośnik do podstrony?
Go to the top of the page
+Quote Post
-krzysiuus-
post
Post #7





Goście







Np.
Kod
http://strona.pl/category/budownictwo


lub

Kod
http://strona.pl/budowa/


Tylko że w htccess jest:
Kod
RewriteRule ^category/([^/.]+)/?$ index.php?id=index&category=$1 [L]


Ten post edytował krzysiuus 4.12.2014, 21:39:26
Go to the top of the page
+Quote Post
ikssde
post
Post #8





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

Ostrzeżenie: (0%)
-----


Prawdopodobnie masz tam też inne zapisy, dla Ciebie interesujący jest ten fragment index.php?id=index&category=$1. To na jakiej stronie jesteś możesz sprawdzić np. takim kodem:

  1. if(isset($_GET['category']) && $_GET['category'] == 'budownictwo') { ... }


Prawdopodobnie strona główna będzie miała pustą tablicę $_GET, ale musisz to sprawdzić w pliku htaccess.

Ten post edytował ikssde 4.12.2014, 21:57:18
Go to the top of the page
+Quote Post
-krzysiuus-
post
Post #9





Goście







  1. # Set the default handler.
  2. DirectoryIndex index.php
  3. <IfModule mod_rewrite.c>
  4. RewriteEngine on
  5.  
  6. # Usually RewriteBase is just '/', but
  7. # replace it with your subdirectory path
  8. RewriteBase /
  9. RewriteRule ^post/([^/.]+)/?$ index.php?id=index&post=$1 [L]
  10. RewriteRule ^tag/([^/.]+)/?$ index.php?id=index&tag=$1 [L]
  11. RewriteRule ^page/([^/.]+)/?$ index.php?id=index&page=$1 [L]
  12. RewriteRule ^archive/([^/.]+)/?$ index.php?id=index&archive=$1 [L]
  13. RewriteRule ^category/([^/.]+)/?$ index.php?id=index&category=$1 [L]
  14. RewriteCond %{REQUEST_FILENAME} !-f
  15. RewriteCond %{REQUEST_FILENAME} !-d
  16. RewriteRule /?([A-Za-z0-9_-]+)/?$ index.php?id=$1 [QSA,L]
  17. </IfModule>
  18.  


ok Panowie udało mi się naskrobać coś takiego i fajnie działa:

  1. <?php
  2. $www="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  3. if ($www == 'http://strona.idl.pl/' || $www == 'http://www.strona.idl.pl/' || $www == 'strona.idl.pl/' || $www == 'www.strona.idl.pl/') :
  4. ?>
  5.  
  6. tresc do pokazania tylko na stronie glownej
  7.  
  8.  
  9. <?php endif; ?>



Jednak chciałbym dodać do tego raunek else (jeżeli jestem obecnie na podstronie to pojawia sie inny box.

  1. <?php
  2. $www="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  3. if ($www == 'http://strona.idl.pl/' || $www == 'http://www.strona.idl.pl/' || $www == 'strona.idl.pl/' || $www == 'www.strona.idl.pl/') :
  4. ?>
  5.  
  6. tresc do pokazania tylko na stronie glownej
  7.  
  8.  
  9. <?php
  10. else {
  11. echo 'tresc na podstronach';
  12. } ?>


Ale coś nie bardzo funkcjonuje... można to zrobić ten sposób co pokazałem czy trzeba wszystko wziąść w kod php i "tresc do pokazania tylko na stronie glownej" dać w echo?
Go to the top of the page
+Quote Post
ikssde
post
Post #10





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

Ostrzeżenie: (0%)
-----


Zrób w ten sposób:

  1. <?php
  2. $www="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
  3. if ($www == 'http://strona.idl.pl/' || $www == 'http://www.strona.idl.pl/' || $www == 'strona.idl.pl/' || $www == 'www.strona.idl.pl/') :
  4. ?>
  5.  
  6. tresc do pokazania tylko na stronie glownej
  7.  
  8.  
  9. <?php else: ?>
  10.  
  11. tresc na podstronach
  12.  
  13. <?php endif; ?>


Jeśli chodzi o warunek to możesz zastąpić go prostszym:

  1. if(empty($_GET)) -> strona główna


Czyli całość przyjmie postać:

  1. <?php if(empty($_GET)): ?>
  2. Strona główna
  3. <?php else: ?>
  4. Inna strona
  5. <?php endif;?>


Ten post edytował ikssde 5.12.2014, 11:37:39
Go to the top of the page
+Quote Post
-krzysiuus-
post
Post #11





Goście







ok, dziękuję wszystkim za poświęcony czas.
Można zamknąć.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 08:10