Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> W HTML sa ramki, a w php (how_to_do)?, ...zaczynam dopiero przygode z php
-Gość_yaRiS-
post 8.01.2006, 21:49:28
Post #1





Goście







nie wiem jak konstruowane sa serwisy pisane w php, w ktorych po najechaniu na dany link umieszczony np. po lewej stronie, wczyta sie zawartosc jakiegos innego pliku (*.txt, etc.) w wyznaczonym miejscu strony www, np. po prawej stronie.

oczywiscie nie chodzi mi o wczytanie za kazdym razem (calej) innej strony. nie chce zamotac biggrin.gif - poprostu mam jeden plik np index.html - i tam pewne wyswietlane elementy nie moga sie zamieniac, a pewne powinny byc wczytywane. czy to wogole mozliwe bez uzycia ramek?

pomocy! ohmy.gif
Go to the top of the page
+Quote Post
strife
post 8.01.2006, 22:00:32
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Pierwsze co musisz zrobić to poszukać ! podpowiem Ci że jest to między innymi możliwe dzięki require" title="Zobacz w manualu php" target="_manual i include" title="Zobacz w manualu php" target="_manual ...

Jeden z kilku znalezionych przezemnie linków
http://forum.php.pl/index.php?showtopic=34828

pozdro!


--------------------
Go to the top of the page
+Quote Post
-Gość_yaRiS-
post 8.01.2006, 22:03:04
Post #3





Goście







dzieki biggrin.gif, szukam....
Go to the top of the page
+Quote Post
siutek
post 9.01.2006, 12:37:25
Post #4





Grupa: Zarejestrowani
Postów: 173
Pomógł: 1
Dołączył: 26.10.2005
Skąd: Toruń

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


wystarczy ze zrobisz cos takiego (jak juz wspomnial strife):

  1. <?php
  2.  
  3. if ($_GET['body'] == "") {
  4. $body="glowna";
  5. } else {
  6. $body=$_GET['body'];
  7. }
  8. include ("./poddzialy/".$body.".html");
  9.  
  10. ?>

to umiesc w miejscu gdzie chcesz wszystko wczytywac


a w menu podawaj adresy z parametrem body, np.:
./index.php?body=glowna
./index.php?body=ksiega

parametr body to nazwa wczytywanego pliku, tylko bez rozszerzenia
Go to the top of the page
+Quote Post
-Guest-
post 9.01.2006, 12:55:03
Post #5





Goście







lepiej to zrobic przy uzyciu switcha, np.

  1. <?php
  2. switch($_GET['strona'])
  3. {
  4. default:
  5. // to bedzie ladowane defaultowo, np. include('default.html');
  6. break;
  7.  
  8. case 'stronka1':
  9. // instrukcje, np. include('stronka1.html');
  10. break;
  11.  
  12. case 'stronka2':
  13. // instrukcje, np. include('stronka2.html');
  14. break;
  15. }
  16. ?>


i teraz odpowiednio:
index.php?strona=stronka1
index.php?strona=stronka2
Go to the top of the page
+Quote Post
siutek
post 9.01.2006, 13:26:22
Post #6





Grupa: Zarejestrowani
Postów: 173
Pomógł: 1
Dołączył: 26.10.2005
Skąd: Toruń

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


Cytat
lepiej to zrobic przy uzyciu switcha, np.


chyba jednak sie mylisz, w wypadku gdy masz w serwisie 50 podstron, w instrukcji switch musisz 50 razy pisac cala instrukcje include. Natomiast jesli zrobic to po mojemu, bez wzgledu na to ile masz podstron w serwisie, czy to 2, czy 200 - kod ktory podalem wyzej nie zmienia sie.
Go to the top of the page
+Quote Post
nospor
post 9.01.2006, 13:31:48
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@siutek ale przy twojej metodzie zawsze widac w url nazwe pliku do includowania. to nie jest zbyt dobry pomysl. a przy switchu mozna w parametrze wpisac "alamakota" a includowac plik "azosiapsa". smile.gif


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
dtb
post 9.01.2006, 15:07:22
Post #8





Grupa: Zarejestrowani
Postów: 476
Pomógł: 1
Dołączył: 5.11.2005
Skąd: Bieruń city

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


oj siutek siutek:
./index.php?body=../../../../../../plik_z_konfiguracja%00

mozna ustawic kilka filtrow:
  1. <?php
  2. intval() //zamienia kazdy ciag znakow na liczbe
  3. substr() //obcina tekst do okreslonej liczby znakow
  4. $tekst = str_replace ('..', '', $tekst) //usuwa dwie kropki z tekstu
  5. addslashes() //escapuje niebezpiecze znaki
  6. function alnum ($tekst) {
  7. $wynik = NULL;
  8. for ($i=0; $i<strlen ($tekst); $i++)
  9. if (ctype_alnum ($tekst[$i]))
  10. $wynik .= $tekst[$i];
  11. return $wynik;
  12. }
  13. $znaki = alnum ($znaki); //usuwa znaki nie alfanumeryczne
  14. ?>


...

Ten post edytował dtb 9.01.2006, 15:16:45


--------------------
Go to the top of the page
+Quote Post
-Gość_yaRiS-
post 10.01.2006, 00:31:35
Post #9





Goście







...nie wiem co robie nie tak!
korzystam z powyzszych rad i nie wogole nie dziala sad.gif, a robie tak:

w index.htm umieszczam w jednej z tabel taki kod:
  1. <?php
  2. if ($_GET['body'] == "") {
  3. $body="glowna";
  4. } else {
  5. $body=$_GET['body'];
  6. }
  7. include ("cos.txt");
  8.  
  9. ?>


i chce zeby po najechaniu na jeden z linkow umieszczonych w innej tabeli <a href="index.htm?body=glowna">glowna</a> wyswietlila mi sie zawartosc pliku cos.txt (plik jest w tym samym kadalogu co index) w tabeli gdzie jest powyzszy kod z include.
(kod testuje pod apachem na lokalnym kompie)

gdzie dalem plame??
pozdro
Go to the top of the page
+Quote Post
-Gość_yaRiS-
post 10.01.2006, 00:47:58
Post #10





Goście







smile.gif ale dalem d... - trzeba bylo kod umiescic w index.php a nie index.htm.

...tak czsem bywa jak sie zaczyna,
i raz jeszcze wielkie dzieki 4all za pomoc, jol
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: 28.06.2025 - 13:29