Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z include
Krzakus
post 29.04.2009, 16:01:09
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 29.04.2009

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


Na początek zaznaczam że php jest mi totalnie obce. W związku z powyższym, bardzo rzadko używam go w tych niewielu stronach które robię, a jeżeli już muszę, to idę metodą na sępa (czyli używam gotowego kodu znalezionego w sieci).
Tak, wiem, to nieładnie, ale nie o tym mowa...

Mam następujący problem.
Na swojej stronie, zastosowałem taki oto kod:

Kod
<?
   switch ($HTTP_GET_VARS['go'])
   {
      case 2:
      include("2.php");
         break;
      case 3:
         include("3.php");
         break;
      case 4:
         include("4.html");
         break;
      case 5:
         include("5.html");
         break;
      case 1:
      default:
         include("1.html");  
   }
   ?>

Link ma postać:

Kod
   <a href="index.php?go=1">LINK</a>


Teraz załóżmy że na stronie 2.php, chcę zastosować identyczny schemat. Czyli - otwiera mi się index, klikam LINK, pojawia mi się w oknie (tabeli, cokolwiek) zawartość 2.php. Oczywiście menu strony pozostaje na swoim miejscu i nie jest ładowane od nowa.
Plik 2.php, ma zawierać kolejne trzy przyciski (czyli własne menu) i po kliknięciu w któryś z nich, pod nimi ma się wyświetlać zawartość kolejnych plików.
Niestety, jedyne co mi się udało osiągnąć, to że w chwili kiedy kliknę jeden z tych trzech przycisków, plik 2.php z nową zawartością otwiera mi się w tym samym oknie, ale znika zawartość index.php (czyli główne menu i całe formatowanie z przypisanego mu css'a).
Próbowałem w 2.php zamiast 'go' użyć 'id' ale nic to nie dało.
Generalnie moje pytanie brzmi "WTF?" i czy da się to jakoś zrobić.

Z góry wielkie dzięki za odpowiedź napisaną językiem dla php'owego ignoranta smile.gif

Ten post edytował Krzakus 29.04.2009, 20:08:29
Go to the top of the page
+Quote Post
lashus
post 29.04.2009, 18:15:05
Post #2





Grupa: Zarejestrowani
Postów: 39
Pomógł: 9
Dołączył: 12.04.2008

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


Stosujesz po prostu "target" przy linku. I to nawet nie wymaga znajomości php tylko htmla winksmiley.jpg

Kod
<a href="index.php?go=1" target="tabelka">LINK</a>


Gdzie: tabelka = nazwa tabelki (<table name="tabelka">), jeśli dobrze cię zrozumiałem ofc. -.-
Go to the top of the page
+Quote Post
okitoki
post 29.04.2009, 18:50:37
Post #3





Grupa: Zarejestrowani
Postów: 214
Pomógł: 18
Dołączył: 25.04.2009

Ostrzeżenie: (20%)
X----


co to za <b> przy include smile.gif, nie stosuje się tak na chama html-a w php
parametry w nagłówku zwraca w tablicy $_GET


--------------------
Go to the top of the page
+Quote Post
Krzakus
post 29.04.2009, 20:11:43
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 29.04.2009

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


okitoki - bold miał być dla was, żeby podkreślić o który plik chodzi. Nie zwróciłem uwagi że KOD nie uznaje formatowania tongue.gif. W oryginalnym kodzie tego nie ma. Tutaj też już poprawiłem.
A resztę twojej wypowiedzi poproszę na polski winksmiley.jpg

lashus - Dzięki za chęci, ale jedyne co mi się udało osiągnąć, to że teraz otwiera mi nową zakładkę zamiast otwierać w tym samym oknie tongue.gif

Zastanawiam się czy nie zlać i nie wklepać tych trzech przycisków na sztywno w każdą podstronę. Będzie łatwiej. Problem się pojawi w momencie kiedy postanowię dodać czwarty (a na bank do tego dojdzie sad.gif).
Go to the top of the page
+Quote Post
megawebmaster
post 29.04.2009, 20:56:25
Post #5





Grupa: Zarejestrowani
Postów: 143
Pomógł: 17
Dołączył: 8.11.2008
Skąd: Libiąż

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


Chodzi o to, że zamiast $HTTP_GET_VARS używa się po prostu $_GET (to pierwsze jest już zdeprecjonowane).
Go to the top of the page
+Quote Post
Krzakus
post 29.04.2009, 21:31:18
Post #6





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 29.04.2009

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


Ok, nie wiem czy się rozumiemy, więc postaram się wyjaśnić jeszcze raz.

index.php zawiera menu, które ma się cały czas wyświetlać bez przeładowania strony oraz
ma zawierać treść pobieraną z plików .html po kliknięciu na przycisk w menu.

zamiast jednej ze stron .html ma być strona 2.php, która ma zawierać własne dodatkowe menu (ładowane tylko w chwili załadowania 2.php do index.php) oraz
ma zawierać treść pobieraną z kolejnych plików .html po kliknięciu na przycisk z menu zawartego w 2.php

Zawartość index.php (czyli nagłówek, menu itp) ma być cały czas wyświetlana, niezależnie od tego, czy w nim jest wyświetlana zawartość pliku 2.php czy 666.html.

Założyłem, że w takim razie w pliku 2.php muszę umieścić identyczny kod php jak w pliku index.html. Generalnie wiem już w czym może leżeć problem. Jeżeli menu pliku 2.html zawiera link w postaci:
Kod
<a href="2.php?id=2">LINK</a>

to chyba rozumiem dlaczego otwiera się to w nowym oknie, bez zawartości index.php.

Kod w miejscu którego ma być wyświetlana zawartość kolejnej (trzeciej już) strony to:
Kod
    <?
switch ($_GET['id'])
{
    case 2:
       include("2.html");
       break;

    case 1:
    default:
       include("1.html");  
}
?>


Pytanie, jak to rozwiązać.
Go to the top of the page
+Quote Post
Ive
post 29.04.2009, 21:40:02
Post #7





Grupa: Zarejestrowani
Postów: 352
Pomógł: 1
Dołączył: 17.07.2003
Skąd: Kazanów

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


albo zaprzęgasz ajaxa/prototype, albo iframe, albo menu w index.php musi się przeładować.
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: 16.06.2025 - 20:02