Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Co zamiast include?, (jestem b. początkująca :P)
-xpenguine-
post 20.01.2008, 11:41:29
Post #1





Goście







Witam,

pracuję właśnie nad prostą (pewnie z Waszego punktu widzenia smile.gif) stroną. W lewej komórce tabeli na stronie index.php jest:

  1. <?php include("mainmenu.php"); ?>



plik mainmenu.php w uproszczeniu wygląda tak:

  1. <a href="./index.php?id=1">1</a>
  2. <a href="./index.php?id=2">2</a>
  3. <a href="./index.php?id=3">3</a>



Natomiast prawa komórka tabeli zawiera kod, includujący podstrony z menu.php:

  1. <? 
  2. $id = (int) $_GET['id'];
  3. if(!isset($id)){
  4. include("glowna.html");
  5. } else {
  6. if($id==0){
  7. include("glowna.html");
  8. }else if($id==1){
  9. include("1.php");
  10. }else if($id==2){
  11. include("2.php");
  12. }else if($id==3){
  13. include("3.php");
  14. }else if($id==4){
  15. include("4.php");
  16. }else if($id==5){
  17. include("5.php");
  18. }else if($id==6){
  19. include("6.php");
  20.  }else{
  21. echo "Brak treści o podanym ID";
  22. }
  23. }
  24. ?>



A teraz mój problem smile.gif Na większości podstron znajdują się jeszcze inne linki. Chcę, by po kliknięciu na nie, ich zawartość wyświetlała się tam, gdzie podstrona, na której się znajdują. Na jakimś forum pisali, żeby ponownie zastosować include, tym razem na podstronie, np:

  1. //podstrona "1.php"
  2. <? 
  3. $cat = (int) $_GET['cat'];
  4. if(!isset($cat)){
  5. include("");
  6. } else {
  7. if($cat==0){
  8. include("");
  9. }else if($cat==1){
  10. include("11.php");
  11. }else if($cat==2){
  12. include("22.php");
  13. }else if($cat==3){
  14. include("33.php");
  15.  
  16.  }else{
  17. echo "Błąd";
  18. }
  19. }
  20. ?>
  21.  
  22. <a href="./index.php?id=1&cat=1">11</a>
  23. <a href="./index.php?id=1&cat=2">22</a>
  24. <a href="./index.php?id=1&cat=3">33</a>



No i wszystko pięknie, gdyby po kliknięciu nie includowało mi zarówno treści podstrony, jak i strony do której prowadzą te linki sad.gif
Co zatem zrobić, żeby na przykład:
  1. <a href="./index.php?id=1&cat=3">33</a>
wyświetlało się tam gdzie
  1. <a href="./index.php?id=1">1</a>
, ale nie jednocześnie z tą podstroną?


Bardzo proszę o wyrozumiałość i dziękuję za pomoc smile.gif
Powód edycji: dodalem tag (cysiaczek)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
potreb
post 20.01.2008, 12:45:31
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Pokaż jakąś podstronę gdzie masz taki problem, zapewne stosujesz do wywołania następnej strony $_GET, lepiej byłoby zastosować case, dlaczego? Masz tu taki przykład:

  1. <?php
  2. if (isset($_GET["id"])) {$id=$_GET["id"];} else {$id="";}
  3. switch ($_GET['id']) { 
  4. default: include ("glowna.html"); break; 
  5. case "strona1": include ("1.php"); break;
  6. case "strona2": include ("2.php"); break;
  7. case "strona3": include ("3.php"); break;
  8. case "strona4": include ("4.php"); break;
  9. }
  10. ?>


Wywołujesz stronę tak index.php?id=strona1, oczywiście nazwy możesz sobie zmienić i includowane pliki. I teraz jak już masz taki szkielet np w pliku 1.php tworzysz znow switch-a:
  1. <?php
  2. switch ($_GET['go']) { 
  3. default:
  4. echo "jakas tresc";
  5. break; 
  6.  
  7. case "dee": 
  8. echo "druga tresc";
  9. break;
  10. }
  11. ?>


I wywołujesz ją tak index.php?id=strona1 lub index.php?id=strona1&go=dee


--------------------

Go to the top of the page
+Quote Post
adameq
post 20.01.2008, 13:28:30
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 3
Dołączył: 27.03.2007

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


Albo jeszcze prosciej:
  1. <a href="?id=1">1</a>
  2. <a href="?id=2">2</a>
  3. <a href="?id=3">3</a>


  1. <? if (isset($_GET['id']))
  2.  {
  3. $id = $_GET['id'];
  4. if(file_exists("$id.php"))
  5.  include("$id.php");
  6. }
  7. else
  8. {
  9. include("strona.php"); 
  10. }
  11. ?>

Jezeli po kliknieciu w 1 istnieje strona 1.php to wczyta jej zawartosc...
Go to the top of the page
+Quote Post
-xpenguine-
post 20.01.2008, 14:55:46
Post #4





Goście







Dziękuję pięknie smile.gif

"Zmiksowałam" sobie Wasze dwa sposoby, troszkę przeinaczyłam, ale najważniejsze, że działa.

@adameq - troszkę nie o to mi chodziło, bo podałeś po prostu łatwiejszy sposób includowania tego, co już miałam. Ale w połączeniu z poprzednim postem jest ok smile.gif
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: 14.08.2025 - 08:53