Menu PHP i wyświetlanie się podstron

Wszystko o językach skryptowych takich jak PHP i Perl, serwerach WWW, CGI, bazach danych i języku SQL.
krzychu1991s
Posty: 91
Rejestracja: 18 maja 2008, 11:37:22
Strona na CBA.pl: http://skuter.c0.pl
Płeć: Niewybrana
User Agent: Chrome Windows
Kontakt:

Menu PHP i wyświetlanie się podstron

Post autor: krzychu1991s »

Próbuje zrobić sobie stronę a w PHP jestem początkujący :)
Niby menu górne i boczne działa ok, ale jak w adres przeglądarki wpisze tylko http://krzychus.cba.pl/ to nie wyświetla się od razu głowna php . Próbowałem to rozwiązać dodając taki fragment kodu ale niestety nie pomaga:

Kod: Zaznacz cały

<?php
$page0 = './';
  if (is_file($page0))
  {
    include('./body/glowna.php');
  }
  else
  {
     echo 'nic';
  }        
?>
A Tu plik index.php

Kod: Zaznacz cały

<div class="menu">
    <div class="right">    
        <?php

        $page = $_GET['page'];
        
            if ($page == "glowna")
            {
              echo '        <a href="./index.php?page=glowna">O mnie</a>';
            }
            else
            {
              echo '        <a href="./index.php?page=glowna">O mnie</a>';
            }
    
            if ($page == "labview")
            {
              echo '        <a href="./index.php?page=labview">LabVIEW</a>';
            }
            else
            {
              echo '        <a href="./index.php?page=labview">LabVIEW</a>';
            }
    
            if ($page == "roboworks")
            {
              echo '        <a href="./index.php?page=roboworks">RoboWorks</a>';
            }
            else
            {
              echo '        <a href="./index.php?page=roboworks">RoboWorks</a>';
            }
            if ($page == "kontakt")
            {
              echo '        <a href="./index.php?page=kontakt">Kontakt</a>';
            }
            else
            {
              echo '        <a href="./index.php?page=kontakt">Kontakt</a>';
            }
        ?>
    </div>
</div>

<div class="kontener">
    <div class="top">
        <div class="box1">
            <img src="./gfx/images/ikony/low.png" alt="Pakiet Gold" />
            <span class="title">Low Cost</span><br />
            <span class="opis">Pakiet stworzony i przeznaczony dla osob prywatnych, które chcą stworzyć własną stronę niskim kosztem.</span>
            <span class="zamow"><img src="obrazki/punkt.png" alt="Zamów" /><a href="#" title="#">Szczegóły</a> | <a href="#" title="#">Zamów</a></span>
        </div>
        <div class="box2">
            <img src="./gfx/images/ikony/business.png" alt="Pakiet Gold" />
            <span class="title">Business Page</span><br />
            <span class="opis">Pakiet stworzony i przeznaczony dla osob prywatnych, które chcą stworzyć własną stronę niskim kosztem.</span>
            <span class="zamow"><img src="obrazki/punkt.png" alt="Zamów" /><a href="#" title="#">Szczegóły</a> | <a href="#" title="#">Zamów</a></span>
        </div>
        <div class="box3">
            <img src="./gfx/images/ikony/professional.png" alt="Pakiet Gold" />
            <span class="title">Professional Page</span><br />
            <span class="opis">Pakiet stworzony i przeznaczony dla osob prywatnych, które chcą stworzyć własną stronę niskim kosztem.</span><br />
            <span class="zamow"><img src="obrazki/punkt.png" alt="Zamów" /><a href="#" title="#">Szczegóły</a> | <a href="#" title="#">Zamów</a></span>
        </div>
    </div>
    <div class="text">
        <div class="top">
        </div>
        <div class="center">
            <?php
                $page = './body/'.$_GET['page'].'.php';
                $page2 = './body/menu/programy/'.$_GET['page'].'.php';

                if (is_file($page))
                {
                include($page);
                }
                else
                {
                include($page2);
                }        
            ?>
        </div>
        <div class="bottom">
        </div>
    </div>
    <div class="panel">
        <?php
                $page = './body/menu/'.$_GET['page'].'.php';

                if (is_file($page))
                {
                include($page);
                }
                else
                {
                echo 'Latest news.';
                }            
            ?>
    </div>
</div>
ciekawski
Posty: 6
Rejestracja: 29 sty 2014, 14:44:20
Strona na CBA.pl: http://www.wynikilotto.net.pl
Płeć: Niewybrana
User Agent: Firefox Windows 1920x1080
Kontakt:

Re: Menu PHP i wyświetlanie się podstron

Post autor: ciekawski »

nie do końca kumam, ale jeśli chcesz się odwołać do aktualnego adresu to zamiast is_file($page0) użyj $_SERVER["REQUEST_URI"]
krzychu1991s
Posty: 91
Rejestracja: 18 maja 2008, 11:37:22
Strona na CBA.pl: http://skuter.c0.pl
Płeć: Niewybrana
User Agent: Opera Windows
Kontakt:

Re: Menu PHP i wyświetlanie się podstron

Post autor: krzychu1991s »

Chodzi o to żeby po wpisaniu adresu http://krzychus.cba.pl/ w polu

Kod: Zaznacz cały

<div class="center">
            <?php
                $page = './body/'.$_GET['page'].'.php';
                $page2 = './body/menu/programy/'.$_GET['page'].'.php';

                if (is_file($page))
                {
                include($page);
                }
                else
                {
                include($page2);
                }        
            ?>
</div>
Wyświetlała się zawartość pliku głowna.php, czyli taka sama co po kliknięciu na zakładkę O mnie.
Jak można zrobić przekierowywanie z strony http://krzychus.cba.pl/ na podstronę http://krzychus.cba.pl/index.php?page=glowna ?

Gdy próbuje w pliku .htaccess zmienić domyślą stronę:

Kod: Zaznacz cały

DirectoryIndex http://krzychus.cba.pl/index.php?page=glowna 
To po wpisaniu http://krzychus.cba.pl/ wyskakuje mi:
Dostęp do strony jest zablokowany albo w katalogu domowym nie ma pliku index.html ani index.php.

Page is blocked.
erwin15
Posty: 232
Rejestracja: 24 paź 2007, 11:09:46
Strona na CBA.pl: www.24htapety.cba.pl
Płeć: Mężczyzna
User Agent: Firefox Windows
Kontakt:

Re: Menu PHP i wyświetlanie się podstron

Post autor: erwin15 »

Kope lat!

Rozwiązanie na Twoje problemy:

Kod: Zaznacz cały

<div class="center">
<?php

    $page = './body/'.(isset($_GET['page']) ? $_GET['page'] : 'glowna').'.php';

    if (file_exists($page)) {
        include($page);
    } else {
        include('glowna.php');
    }
  
?>
</div>
Wygląda to tak:
- sprawdzamy czy parametr `page` jest wysłany (jeżeli nie ładujemy tam domyślne dane czyli: 'glowna')
- sprawdzamy czy istnieje plik np.: `./body/omnie.php`
- jeżeli tak to go ładujemy
- jeżeli nie to ładujemy plik `glowna.php`

Adres wywołania pliku `omnie.php`: http://krzychus.cba.pl/?page=omnie
4zywioly
Posty: 528
Rejestracja: 26 kwie 2011, 16:33:42
Strona na CBA.pl: 4zywioly.c0.pl
Płeć: Niewybrana
User Agent: Chrome Windows 1366x768
Kontakt:

Re: Menu PHP i wyświetlanie się podstron

Post autor: 4zywioly »

Kod: Zaznacz cały

DirectoryIndex index.php?page=glowna
ODPOWIEDZ