Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyswietlanie podstron w index.php... problem:-(
Forum PHP.pl > Forum > Przedszkole
InosU31
Witam ponownie.

Mam taki problem i nie wiem jak go rozwiazac:/ Mianowicie mam strone index.php i do niej zainkludowalem index.htm i dwie klasy - jedna do obslugi plikow a druga do obslugi mysql'a. Wszystko fajnie mi chodzi ale... No wlasnie... chodzi jesli mam wszystko w jednym pliku, np. instrukcje "switch". Czytalem gdzies ze nie mozna parsowac skryptow php i tu pojawia sie moj problem... Chce zrobic podstrony (zeby nie trzymac wszystkiego w jednym pliku) i jakos je umiescic na srodku strony glownej - to znaczy zeby nie zmeiniala sie cala strona bo to by oznaczalo wrzucenie calego kodu ze strony glownej na kada podstrone tylko zeby podstrona wyswietlala sie w ramce na mojej stronie glownej. Mam na srodku div'a i w nim chialbym to wszystko wyswietlac. Probowalem w innym pliku sparsowac jakas strone i pozniej w moim index.php zainkludowac ta strone ale nic sie nie dzieje:/

Probowalem tez przeniesc switcha do innego pliku i po zainkludowaniu tego pliku juz mi nie dziala to parsowanie:/

prosilbym o jakas podpowiedz jak to mozna zrobic zeby bylo dobrze i w miare poukladane.

Z gory dzieki za pomoc.

Pozdrawiam
korro
Witam.
U mnie wygląda to tak:
  1. <?php
  2.  
  3. ini_set('error_reporting', E_ALL);
  4. //error_reporting(E_ALL);
  5. ini_set('log_errors',TRUE);
  6. ini_set('html_errors',FALSE);
  7. ini_set('error_log','error_log.txt');
  8. ini_set('display_errors',FALSE);
  9.  
  10. include ("header.php");
  11.  
  12. if (!$HTTP_GET_VARS['site'])
  13.    include ("current_contest.php");
  14. else
  15.    {
  16.        if ($HTTP_GET_VARS['site'] == 'login')
  17.            include ("login.php");
  18.        elseif ($HTTP_GET_VARS['site'] == 'register')
  19.            include ("register.php");
  20.        else include ("logout.php");    
  21.            
  22.    }  
  23.  
  24. include ("foot.php");
  25. ?>


W header.php includuję obsługę MySQL i PHPMailer.
Spawnm
daj html w osobny plik php i w miejscach co mają się zmieniać dawaj
<div><?php echo $body; ?></div>

taki plik includujesz na samym końcu strony , wcześniej całą treść zapisujesz do $body , $title itp.

teraz albo robisz kilka plików i w każdym tylko to includujesz albo jak chcesz wszystko w index.php
to przez ifa / case incujesz pliki php które wykonują działania i zwracają treść do index na którego końcu jest pliczek z html
InosU31
Dzieki wielkie :-) troche to haotycznei napisalem ale fajnie ze zrozumieliscie:-)

Ps. udalo mi sie zainkludowac taki pliczek ale w case wiec nie jest zle:-)

cos jeszcze pokombinuje;-)

Pozdrawiam:-)

Witam ponownie

Juz zrobilem instrukcje ktora mi wyswietla na srodku te ramki:-) No ale tu sie pojawia drugi problem ...

to ta instrukcja:
  1. <?php
  2. if ($_GET['page'])
  3. {
  4.    $result = $dbase->get_query("
  5.                        SELECT * FROM ramka
  6.                        WHERE id = '".$_GET['id']."'
  7.                        ");
  8.                        
  9.    if ($result)
  10.    {
  11.        foreach ($result as $record)
  12.        {
  13.            if ($record = $_GET['page'])
  14.            {
  15.                $file_name = $record.".php";
  16.                    if (file_exists($file_name))
  17.                    {
  18.                    $page->tassign['main'] ="plik istnieje :-)".$file_name."<br>";
  19.                    include $record.".php";
  20.                    
  21.                    }
  22.                    else $page->tassign['main'] = "taka strona nie istnieje!";
  23.            }
  24.            else "nie dziala";
  25.        }
  26.    }
  27. }
  28. ?>


wszytko ladnie mi sie wczytuje, kazdy plik na srodku tak jak chcialem. Problem pojawia sie gdy chce wykonac jakas akcje na zainkludowanym wewnatrz tej instrukcji pliku - po prostu zachowuje sie tak jakby nie bylo takiego przypadku. Na przyklad gdy juz wyswietle ten zainkludowany plik i klikne na "edytuj" to zamiast pokazac sie formularz pokazuje sie strona glowna:/ Jak zainkluduje ten sam na poczatku w index.php to moge wykonywac juz te akcje ktore sa w tym pliku.

zainkludowany plik :
  1. <?php
  2. require_once "template/db_interface.php";
  3.    require_once "template/cTemplate.php";
  4.    
  5.    $page = new cTemplate;
  6.    $dbase = new db_interface("site_db", "localhost", "inos", "aa");
  7.  
  8.    if (!isset($_GET['ao']))
  9.    {
  10.        $_GET['ao'] = "";
  11.    }
  12.    
  13.    
  14. if ($_GET['page'] = "ogloszenia")
  15. {
  16.    switch ($_GET['ao'])
  17.    {
  18.            
  19.            
  20.            //jakis kod .......
  21.            
  22.        case "edytuj_ogloszenie":
  23.        
  24.        // WYSWIELTA WSZYSTKIE KOMENTARZE
  25.                    $komentarze_result = $dbase->get_query("
  26.                                SELECT * FROM komentarze
  27.                                WHERE id = ".$_GET['id']."
  28.                                ORDER BY data DESC
  29.                                ");
  30.    // ORDER BY data DESC - posegreguje komentarze od najnowszego malejaco
  31.    
  32.                if ($komentarze_result)
  33.                {
  34.                    $komentarz_tpl = new cTemplate;
  35.  
  36.                    foreach ($komentarze_result as $komentarz)
  37.                    {
  38.                    $komentarz_tpl->tassign['nick'] = $komentarz ['nick'];
  39.                    $komentarz_tpl->tassign['data'] = $komentarz ['data'];
  40.                    $komentarz_tpl->tassign['tresc'] = $komentarz ['tresc'];
  41.            
  42.                    $komentarz_tpl->tassign['opcje'] = "<a href=\"?page=Ogloszenia&ao=pokaz_ogloszenia& id=".$komentarz['id']."\">>> Powrot</a>";
  43.                    $page->tassign['main'] =  $komentarz_tpl->parse("common/komentarz.htm");
  44.                        }
  45.                    
  46.                    //-------------------------------------------------
  47.                
  48.        
  49.        //WYSWIETLA FORMULARZ
  50.                $form_ogl = new cTemplate;
  51.                $form_ogl->tassign['id'] = $komentarz['id'];
  52.                $page->tassign['main'] .=  $form_ogl->parse("common/komentarz_form_edit.htm");
  53.        // tylko w tedy jak sesja bedzie sie zgadzac lub ciasteczko - dac informacje taka o ciasteczku
  54.        // ciateczko wyslac do osoby doajacej komentarz zeby mogla pozniej je edytowac
  55.                    }
  56.                    else $page->tassign['main'] .=  "brak ogloszen";
  57.        
  58.        break;
  59. //    ... reszta kodu
  60. ?>


Moze zle uzywam instrukcji includowania?? ma ktos jakis pomysl jak "przerobic" ta instrukcje zebym mogl korzystac z opcji z innych plikow?

Pozdrawiam
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.