Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] .htaccess + przyjazne linki = brak newsów na stronie głównej
Forum PHP.pl > Forum > Przedszkole
malyel
Zrobiłem dzisiaj na swojej stronie przyjazne linki... Adres http://domena.pl/index.php?show=test zmieniłem na http://domena.pl/test. Użyłem do tego takiej konfiguracji .htacces:
  1. <?php
  2. <IfModule mod_rewrite.c>
  3. RewriteEngine On
  4. RewriteRule ^([A-Za-z0-9-]*)$ index.php?show=$1
  5. </IfModule>
  6. ?>


Stronę główną mam zrobioną przy pomocy tego kodu:
  1. <? if(!isset($show)) {
  2. include"newsy.php"; }
  3. else if($show=='newsy') {
  4. include"newsy.php"; }
  5. else if($show=='2') {
  6. include"linki.php"; }
  7. else if($show=='3') {
  8. include"onas.php"; }
  9. else if($show=='4') {
  10. include"buttony.php"; }
  11. else if($show=='kontakt') {
  12. include"kontakt.php"; }
  13. else {
  14. echo("Nie ma takiej strony"); } ?>


I jak zrobiłem te przyjazne linki, to zamiast newsów jak wchodzę na stronę główną wyświetla mi się "Nie ma takiej strony". Jeśli wejdę do newsów przez adres http://domena.pl/newsy to działa.

Co mogę zrobić/naprawić, żeby znów razem z przyjaznymi linkami wyświetlało mi newsy na stronie głównej?

Przepraszam może za dziwny opis problemu, ale jeszcze nie bardzo znam się na php i tym, jak mogę opisać problem...
wookieb
Co to za małpiszon te "drzewiaste" ify?
http://php.net/switch

i tam użyjesz opcji default
vokiel
register_globals = off
Do tablic GET, POST, COOKIE, FILE etc dowołujemy się poprzez jawne wskazanie tablicy:
  1. <?php
  2. if(!empty($_GET['show'])) {/**reszta kodu*/}
  3. ?>
malyel
Zrobiłem takie coś:
  1. <?php
  2. switch($show){
  3.  
  4.    case kontakt:
  5.        include 'kontakt.php';
  6.        break;
  7.  
  8.    case kim-jestesmy:
  9.        include 'kim-jestesmy.php';
  10.        break;
  11.  
  12.    case sklep:
  13.        include 'sklep.php';
  14.        break;
  15.  
  16.    case newsletter:
  17.        include 'newsletter.php';
  18.        break;
  19.  
  20.    case partnerzy:
  21.        include 'kontakt.php';
  22.        break;
  23.  
  24.    case partnerzy:
  25.        include 'kontakt.php';
  26.        break;
  27.  
  28.        break; }
  29.  
  30. ?>


I teraz ciągle wyświetla tylko treść z kim-jestemy.php.
wookieb
Jezu...
obejmij cos takiego w '
Kod
case 'kim-jestesmy':


Poza tym nadal nie słuchasz co kolega Vokiel ci napisał o $show

No i nadal nie użyłeś default. Weź ty zastanów się co robisz.
malyel
Mój, błąd i nieuwaga. Przepraszam...

  1. <?php
  2. switch($_GET['show']){
  3.  
  4.    default:
  5.        include 'newsy.php';
  6.        break;
  7.  
  8.    case 'kim-jestesmy':
  9.        include 'kim-jestesmy.php';
  10.        break;
  11.  
  12.    case 'sklep':
  13.        include 'sklep.php';
  14.        break;
  15.  
  16.    case 'newsletter':
  17.        include 'newsletter.php';
  18.        break;
  19.  
  20.    case 'partnerzy':
  21.        include 'partnerzy.php';
  22.        break;
  23.  
  24.    case 'kontakt':
  25.        include 'kontakt.php';
  26.        break; }
  27.  
  28. ?>


Działa, dzięki!
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.