Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Include, Drobny problem nie do pokonania?
-Gość_Kamil-
post 18.02.2005, 17:08:31
Post #1





Goście







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?
Go to the top of the page
+Quote Post
MP1
post 18.02.2005, 17:46:07
Post #2





Grupa: Zarejestrowani
Postów: 194
Pomógł: 0
Dołączył: 22.09.2003
Skąd: Polska

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


  1. <?php
  2.  
  3. if($_GET['co']==&#092;"costam\") { include(...); }
  4.  
  5. else { echo('Koszykówka'); }
  6.  
  7. ?>


$_GET - tablica od paska adresu


--------------------
COMPMaster: REAKTYWACJA
F3Sonda: gotowe
F3Kartki:
Go to the top of the page
+Quote Post
-Guest-
post 18.02.2005, 18:01:51
Post #3





Goście







Echh nie zrozumiałeś o co chodzi ;/
Go to the top of the page
+Quote Post
Bartech
post 18.02.2005, 18:39:05
Post #4





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Poznań

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


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!!!


--------------------
www.szymaszkiewicz.com
Go to the top of the page
+Quote Post
shima
post 18.02.2005, 18:43:59
Post #5





Grupa: Zarejestrowani
Postów: 245
Pomógł: 0
Dołączył: 9.09.2002

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


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


--------------------
Nie ma nic stałego prócz zmiany...
Go to the top of the page
+Quote Post
-Gość_Kamil-
post 18.02.2005, 19:02:45
Post #6





Goście







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ł?
Go to the top of the page
+Quote Post
Bartech
post 18.02.2005, 19:31:48
Post #7





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Poznań

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


"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!!!


--------------------
www.szymaszkiewicz.com
Go to the top of the page
+Quote Post
-Gość_Kamil-
post 18.02.2005, 23:48:30
Post #8





Goście







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.
Go to the top of the page
+Quote Post
Bartech
post 18.02.2005, 23:58:42
Post #9





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 29.08.2003
Skąd: Poznań

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


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.


--------------------
www.szymaszkiewicz.com
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: 18.07.2025 - 18:20