Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Include
Forum PHP.pl > Forum > Przedszkole
Gość_Kamil
Cześć

Mam taki problem. Jako index.php mam tabele z 4 komórkami, do których po uruchomieniu strony strony ładowane są odpowiednie pliki za pomoca polecenia include. (np. w komórce 1 jest text Koszykówka, w komórce drugiej Siatkówka, w 3 Piłka nożna i w Hokej. Wszystko jest ok. Ale teraz mam w jednej z komórek linki i chce te linki ładowac do innej komórki, w której już coś jest np ta koszykówka. Oczywicie wszystko sprawnie sie ładuje ale ten wyraz "koszykówka" nie znika.
Nie da sie tak zrobić, żeby ładowany plik wypierał, kasował poprzednie co było załadowane przy starcie strony? Dlaczego to zawsze zostaje?
MP1
  1. <?php
  2.  
  3. if($_GET['co']==&#092;"costam\") { include(...); }
  4.  
  5. else { echo('Koszykówka'); }
  6.  
  7. ?>


$_GET - tablica od paska adresu
Guest
Echh nie zrozumiałeś o co chodzi ;/
Bartech
Takiego czegoś php Tobie nie zrobi, ewentualnie JAVA. Natomiast mogłbyś zrobić coś innego, np. mógłbyć tworząc linki, zrobić je wg tego schematu:
Cytat
<A href="index.php?link1=kosz.php&link2=siat.php&link3=hoke.php"


Potem w każdej z komórek index.php wpisać:
w pierwszej:
  1. <?php
  2.  
  3. if(isset(link1)):
  4. include(&#092;"link1\");
  5. else:
  6. include(&#092;"golf.php\");
  7. endif;
  8.  
  9. ?>

w drugiej:
  1. <?php
  2.  
  3. if(isset(link2)):
  4. include(&#092;"link2\");
  5. else:
  6. include(&#092;"windsurfing.php\");
  7. endif;
  8.  
  9. ?>


to oczywiście nie jest super wyjście ze względu na jawne przekazywanie linków w pasku adresowym. Ale zdaje egzamin.

Jeżeli oczywiście o to chodziło!!!
shima
Cytat(Gość_Kamil @ 2005-02-18 17:08:31)
Nie da sie tak zrobić, żeby ładowany plik wypierał, kasował poprzednie co było załadowane przy starcie strony? Dlaczego to zawsze zostaje?

Nie zostaje. Zarzucasz MP1, ze nie zrozumiał o co Ci chodzi, a to Ty nie rozumiesz jak ładuje się Twoja strona. Jego rada, choć nieprecyzyjna, jest dobrą wskazóką co powinieneś zrobić.
Gość_Kamil
Nie do końca o to. Będę musiał użyć kodu......

Mam plik index.php

  1. <html>
  2. <head>
  3. </head>
  4. <body>
  5.  
  6. <table>
  7. <TR>
  8. <TD><? include (&#092;"lewy.php\") ?></TD>
  9. <TD>Slowo>/TD>
  10. <TR>
  11. </TABLE>
  12. </BODY>
  13. </HTML>


Uprościem to jak tylko sie da. Tylko dwie komórki, w jednej przy starcie jest łądowany plik lewy.php a w drugiej znajduje się zwykły tekst.

Teraz chcę z jednej komórki do drugiej includować inne pliki więc mam takie coś:

  1. <HTML>
  2. <HEAD>
  3. </HEAD>
  4. <BODY>
  5.  
  6. <TABLE>
  7. <TR>
  8. <TD><? include (&#092;"lewy.php\") ?></</TD>
  9. <TD>Slowo2
  10.  
  11. <?
  12. switch ($zmienna)
  13. {case (link1):
  14. include (&#092;"link1.php\");
  15. break;
  16. case (link2):
  17. include (&#092;"link2.php\");
  18. break;
  19. case (link3):
  20. include (&#092;"link3.php\");
  21. break;
  22. }
  23.  
  24. ?> 
  25. </TD>
  26. <TR>
  27. </TABLE>
  28. </BODY>
  29. </HTML>



Oczywiście kod pliku lewy.php wygląda tak:

  1. <?php
  2.  
  3. <a href=&#092;"indexik.php?zmienna=link1\">link1</a>
  4. <a href=&#092;"indexik.php?zmienna=link2\">link2</a>
  5. <a href=&#092;"indexik.php?zmienna=link3\">link3</a>
  6.  
  7. ?>


I Tyle.
Teraz klikając na dowolny link łądujemy sobie do drugiej komórki ale główny problem to, że będący tam tekst "Slowo" nie znika - cały czas jest mimo, że łądują sie te linki. Jak zrobić by znikło? Jest to problem ponieważ, gdy by to nie było jedno słowo, a duży tekst strony głównej, a jednym z linków byłby link do powrotu do strony głównej to w efekcie będzie widnieć to samo. Natomiast pustej komórki przy starcie nie można zostawić, bo użytkownik odwiedzając stronę się ździwi, że ejst pusto. Ma ktoś pomysł?
Bartech
"SŁOWO" nie może zniknąć ponieważ jest napisane w HTML-u a to nie jest język dynamiczny. jedyne rozwiązanie to przeładowywanie całego dokumentu index.php a text "SŁOWO" mysi znajdować się wewnątrz zmiennej (w pliku inkludowanym) jednak poniważ wiem że chcesz uniknąć pustki przy pierwszym wyświetleniu index.php. to powinieneś zastanowić się dobrze nad moim rozwiązaniem. podam je Tobie prościej oto pliki:

index.php (skopiuj i załaduj do siebie)
  1. <html>
  2. <head>
  3. <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\">
  4. </head>
  5. <body>
  6. <table border=1>
  7. <!-- lewe okno z linkami -->
  8. <tr><td>
  9. <a href=\"txt.php?zmienna=start.php\">Strona startowa</a><BR>
  10. <a href=\"txt.php?zmienna=kosz.php\">kosz</a><br>
  11. <a href=\"txt.php?zmienna=hok.php\">hokej</a><br>
  12. <a href=\"txt.php?zmienna=siat.php\">siatkówka</a><br>
  13. </td><td>
  14. <!-- prawe okno z zawartością -->
  15. <?
  16. //sprawdzanie linku
  17. if(isset($zmienna)):
  18. include(&#092;"$zmienna\");
  19. else:
  20. include(&#092;"start.php\");
  21. endif;
  22. ?>
  23. </td></tr>
  24. </table>
  25. </body>
  26. </html>


Potrzebne są jeszcze 4 pliki(z zawartością):

kosz.php(text o koszykówce)
siat.php(text o siatkówce)
hok.php(text o hokeju)
start.php(text startowy)


Spróbuj, zanim znów napiszesz że nie oto chodziło!!!
Gość_Kamil
Ok zrobiłem, co prawda mały błąd zrobiłeś w tych "A HREF....." bo tam napisałeś txt.php ale ogólnie rozwiązuje to problem. Mam tylko nadzieję, że brak poprzedniej metody, która też ma zalety, nie spowoduje innych problemów. Ogólnie dzięki za pomoc.
Bartech
Ja poprostu testowałem te n skrypt na pliku txt.php i dlatego był taki a nie inny wpisany. Cieszę się że mogłem pomóc.
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.