Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] różny content - jak to zrobić?
Lathiel
post 29.06.2012, 14:09:49
Post #1





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 10.06.2012

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


Witam, poniżej wkleje mój kod główny dla jasności

  1. <?php
  2.  
  3. include('akcje/funkcje.php');
  4.  
  5. $TRESC = empty($_GET['tresc']) ? 'index' : $_GET['tresc'];
  6.  
  7. switch($TRESC){
  8.  
  9. case 'index' ;
  10.  
  11.  
  12. break;
  13.  
  14. case 'rejestruj' ;
  15.  
  16.  
  17. if(isset($_POST['submitRejestruj'])){
  18. if($new_id = createUser($_POST['user'])){
  19. $_SESSION['user']['id'] = $new_id;
  20.  
  21.  
  22. }
  23.  
  24. }
  25. //header("Location: index.php");
  26.  
  27. break;
  28. case 'loguj' ;
  29.  
  30.  
  31. break;
  32.  
  33. }
  34.  
  35. include('header.php');
  36. include('menu.php');
  37. include('content.php');
  38. include('footer.php');
  39.  
  40.  
  41.  
  42.  
  43. ?>


i teraz mam takie pytanie, gdy chcę przejść do podstrony Leksykon w której chcę zamieścić dodatkowe divy których nie ma w podstawowym content.php to jak ułożyć kod? wystarczy, że stworzę plik index2.php o kodzie takim jak wyżej tylko że będzie tam zamiast content.php np content2.php z dodatkowymi ramkami grafikami etc i to uwzględnie w odsyłaczu np zamiast "index.php?tresc=index" zmienię odsyłacz na "index2.php?tresc=leksykon" - czy taki manewr zadziała?


EDIT: rozwiązałem problem, działa ale czy to jest optymalny kod czy da się to jeszcze jakoś skrócić?

Ten post edytował Lathiel 29.06.2012, 14:59:26
Go to the top of the page
+Quote Post
CuteOne
post 29.06.2012, 17:00:17
Post #2





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Poczytaj o routerach i layoutach w PHP, ułatwisz sobie życie smile.gif
Go to the top of the page
+Quote Post
Lathiel
post 29.06.2012, 18:31:39
Post #3





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 10.06.2012

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


Czy da się zapisać funkcje include tak by odczytywała mi pliki z np 'leksykon/' oraz 'leksykon/miejsca/' ?
Go to the top of the page
+Quote Post
csharp
post 29.06.2012, 20:51:14
Post #4





Grupa: Zarejestrowani
Postów: 127
Pomógł: 3
Dołączył: 22.04.2012
Skąd: Warszawa

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


do include musisz podać konkretną scieżkę - samo z folderów Ci nie wyciągnie plików... chyba, że nie zrozumiałem pytania..


--------------------
Prywatny blog -> cupial.com.pl
Go to the top of the page
+Quote Post
Lathiel
post 29.06.2012, 21:10:49
Post #5





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 10.06.2012

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


chodzi o to że chcę by wyciągał mi pliki z folderu leksykon oraz z folderu który znajduje się w leksykonie w tym przypadku leksykon/miejsca/

bo include z samego leksykonu działa bez zarzutu ale jak już chcę sięgnąć do podfolderu na różne sposoby nie działa mi to

Ten post edytował Lathiel 29.06.2012, 21:11:36
Go to the top of the page
+Quote Post
csharp
post 29.06.2012, 21:23:15
Post #6





Grupa: Zarejestrowani
Postów: 127
Pomógł: 3
Dołączył: 22.04.2012
Skąd: Warszawa

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


sama nazwa leksykon nic nikomu nie mówi smile.gif

jeśli masz plik

index.php i chcesz wywołać coś z tego samego folderu to robisz -> include('jakisplik.php');

jeśli z folderu podrzędnego include('folder/jakisplik.php');

z folderu jeszcze bardziej podrzędnego include('folder/folder2/jakisplik.php');

z folderu nadrzędnego include('../glownyfolder/jakisplik.php');


--------------------
Prywatny blog -> cupial.com.pl
Go to the top of the page
+Quote Post
Lathiel
post 29.06.2012, 21:33:27
Post #7





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 10.06.2012

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


ano tak mam ale może przedstawie to bardziej obrazowo

mam index.php

i on składa mi się z plików header.php etc etc content.php - wszystko oparte na divach i wszystko pięknie jak nacisnę sobie odnośnik który znajduje się w header - on przeładowywuje mi stronę na index2.php gdzie content jest inny niż w pliku index.php

ten inny content nazwałem sobie content2.php gdzie w jego divie umieściłem include('leksykon/'. $TRESC . '.php') - działa wszystko pięknie, bo w leksykonie mam 4 pliki .php każdy ze spisem treści i teraz chcę zrobić tak że po wczytaniu leksykon/miejsca.php który wyświetla mi spis miejsc w content2.php, żeby po kliknięciu w któryś z linków odczytał mi treść która znajduje się w leksykon/miejsca/jakiśplik.php i ją załadował do tego diva w content2.php zamiast tego spisu treści

wpadłem na taki pomysł ale nie mam pojęcia jak go zrealizować otóż czy jest możliwe stworzenie if'a gdzie warunkiem będzie "jeśli spełniony zostanie warunek include leksykon/ to zrobię set_path na leksykon/*/"

/*/ - nie wiem czy dobrze kombinuje ale chyba to powinno odczytać jakikolwiek folder zadam w odnośniku

Ten post edytował Lathiel 29.06.2012, 21:59:26
Go to the top of the page
+Quote Post
peter13135
post 30.06.2012, 05:37:25
Post #8





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


Tak. Jest możliwe.


--------------------
:)
Go to the top of the page
+Quote Post
Lathiel
post 30.06.2012, 07:09:21
Post #9





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 10.06.2012

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


A jak to stworzyć bo w php jestem świeży i kominuje ale trochę nieudolnie
Go to the top of the page
+Quote Post
csharp
post 30.06.2012, 08:56:03
Post #10





Grupa: Zarejestrowani
Postów: 127
Pomógł: 3
Dołączył: 22.04.2012
Skąd: Warszawa

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


czytam, czytam i nie ogarniam do końca smile.gif

zadeklaruj sobie w linkach zmienną get i do niej się odwołuj... przynajmniej ja bym tak zrobił, jeśli chcesz aby Ci się coś wyświetliło w jakimś contencie po kliknieciu to zmienna GET będzie dobrym wyjściem.

np. coś takiego...

  1. $go = $_GET['go'];
  2.  
  3. if(!empty($go) && is_file("pages/$go.html"))
  4. {
  5. include "pages/$go.html";
  6. }
  7. else
  8. {
  9. include "pages/error.html";
  10. }


o to chodzi ? albo zadawaj krótkie pytania i małymi kroczkami dojdziemy biggrin.gif

Ten post edytował csharp 30.06.2012, 08:56:14


--------------------
Prywatny blog -> cupial.com.pl
Go to the top of the page
+Quote Post
Lathiel
post 30.06.2012, 12:51:55
Post #11





Grupa: Zarejestrowani
Postów: 26
Pomógł: 0
Dołączył: 10.06.2012

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


ten warunek mam - że jak nie została wybrana żadna strona albo podana nie istnieje to wywołuje mi domyślnie stronę index

więc małymi kroczkami.

Masz stronę główną zawartą w głównym folderze i jak klikniesz w któryś link to wczytuje Ci do strony treść znajdującą się w podfolderze

np. FOLDER GŁÓWNEJ STRONY/TREŚĆ/jakiśplik.php

i to wywołuje bez problemu funkcja include tak jak pisaliśmy wcześniej

teraz znajdujemy się w tym jakiśplik.php

i on zawiera odnośniki do swojego podfolderu czyli ścieżka całkowita od strony index wygląda tak FOLDER GŁÓWNEJ STRONY/TREŚĆ/FOLDER JAKIŚPLIK/odnośnikjakiśplik.php

Wszystkie operacje dzieją się na poziomie FOLDER GŁÓWNEJ STRONY i teraz jak napisać kod bym mógł wczytywać strony z TREŚĆ jak i z FOLDER JAKIŚPLIK co mojego określonego w content2.php diva

Ten post edytował Lathiel 30.06.2012, 12:52:39
Go to the top of the page
+Quote Post
csharp
post 30.06.2012, 13:14:18
Post #12





Grupa: Zarejestrowani
Postów: 127
Pomógł: 3
Dołączył: 22.04.2012
Skąd: Warszawa

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


ale przecież jak robisz
  1. include
to nie ma żadnego znaczenia, że wczytujesz z jakiegoś tam folderu/pliku. Wczytana treść musi mieć odnośniki jak byś linkował z głównej strony.

czyli jesli na głównej stronie masz
  1. <a href="innastrona/inny.php">link</a>

i chcesz do tego samego pliku się odwołać, z tym, że linki umieszczone są w jakimś głębokim folderze to link tworzysz identycznie, czyli
  1. <a href="innastrona/inny.php">link</a>


dobrze Ciebie zrozumiałem?


--------------------
Prywatny blog -> cupial.com.pl
Go to the top of the page
+Quote Post
CuteOne
post 30.06.2012, 15:38:13
Post #13





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


Mówiłem poczytaj o routerach bo gubisz się kolego. W ten sposób za pomocą ścieżki bezwzględnej includujesz co tylko chcesz (w kodzie pominąłem dynamiczny include plików)

index.php
  1. define('ROOT_PATH', realpath(dirname(__FILE__)));
  2.  
  3. include ROOT_PATH . '/jakis_folder/tresc.php';


tresc.php
  1. include ROOT_PATH . '/jakis_folder/inny_folder/plik2.php';


Ten post edytował CuteOne 30.06.2012, 15:38:59
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 Wersja Lo-Fi Aktualny czas: 10.07.2025 - 06:52