PHP i odświeżanie

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
rider
Posty: 6
Rejestracja: ndz paź 09, 2005 11:21 pm

PHP i odświeżanie

Post autor: rider »

Witam

Czy istnieje możliwość aby pewna część strony nie była odświeżana po kliknięciu w link?

Kod: Zaznacz cały

Przykład:
Zakładamy, że mam stronę podzieloną na:
MENU i TREŚĆ
Chciałbym aby po kliknięciu w dowolny link w menu odświeżana była tylko część z treścią, natomiast menu pozostało bez odświeżenia.
Chodzi o efekt podobny do działania ramek.

Pozdrawiam i z góry dziękuję za odpowiedzi
viraptor
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn cze 28, 2004 12:58 pm
Kontakt:

Re: PHP i odświeżanie

Post autor: viraptor »

flavio100
Nowy
Nowy
Posty: 48
Rejestracja: śr sie 17, 2005 5:08 pm
Lokalizacja: wuwua
Kontakt:

Re: PHP i odświeżanie

Post autor: flavio100 »

duzo skryptow do wykorzystania jest na dynamicdrive.com, oparte na dhtmlu.
takie rozwiazanie o ktorym mowisz na pewno tam jest bo ostatnio przegladalem.
pzdr
Arkowicz
Posty: 6
Rejestracja: pt paź 07, 2005 8:47 am
Lokalizacja: Wyszków

Re: PHP i odświeżanie

Post autor: Arkowicz »

Odpowiedzi są dwie:

1. Robisz w stronie na ramkach (w jednej ramce jest menu a odświerza się druga)
2. Wywołujesz drugą stronę, która ma takie samo menu jak pierwasza.

Proste, prawda?

Powodzenia :)
viraptor
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn cze 28, 2004 12:58 pm
Kontakt:

Re: PHP i odświeżanie

Post autor: viraptor »

Arkowicz: jest odpowiedź 3'cia - patrz 2'gi post. Można javascriptem dynamicznie zmienić zawartość elementów o określonych div'ach - ładując z jednej strony całkowicie nowe dane z serwera, a z drugiej nie ściągając niepotrzebnie reszty zawartości strony.
rider
Posty: 6
Rejestracja: ndz paź 09, 2005 11:21 pm

Re: PHP i odświeżanie

Post autor: rider »

Hm...
Pobawiłem się troszkę... Wyszło z tego coś ajax'owego...
Nawet zaciąga pliki tak jakbym chciał. Nie odświeża reszty strony.
Wszystko jest ok, poza kodowaniem.

Po wczytaniu pliku pojawiają się krzaczki pod polskimi znakami... Jak się tego pozbyć?

Oto kod:

Kod: Zaznacz cały

<script type="text/javascript">
function readfile(url,id)
 {
  if (document.getElementById) {
   var x = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
  }
  if (x)
  {
   x.onreadystatechange = function()
   {
    if (x.readyState == 4 && x.status == 200)
    {
     el = document.getElementById(id);
     el.innerHTML = x.responseText;
    }
   }
   x.open("GET", url, true);
   x.send(null);
  }
 }
</script>
Z góry dziękuję za odpowiedzi.

No i przypominam, że ramki, oraz odświeżanie całej strony (np. z tym samym menu) odpada. :/
rider
Posty: 6
Rejestracja: ndz paź 09, 2005 11:21 pm

Re: PHP i odświeżanie

Post autor: rider »

Dodam jeszcze, że przy kodowaniu plików na UTF-8 działa poprawnie.
Jednak wolałbym zostać przy ISO-8859-2.

Czy istnieje taka możliwość?
viraptor
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn cze 28, 2004 12:58 pm
Kontakt:

Re: PHP i odświeżanie

Post autor: viraptor »

No idea... utf to natywne kodowanie xml'a. Jeśli nie ma w pobliżu klasy XMLHttpRequest jakiejś funkcji konwertującej, to raczej tego bez własnej konwersji nie zrobisz... Ale mogę się mylić.
rider
Posty: 6
Rejestracja: ndz paź 09, 2005 11:21 pm

Re: PHP i odświeżanie

Post autor: rider »

Hm... No to poradziłem sobie "With A Litle Help From My Friend"...
A nawet z dużą pomocą (:

Wygląda to tak, że w każdy plik, który jest wyświetlany daję nagłówek:
header("Content-type: text/html; charset=ISO-8859-2");

No i to by było na tyle.
Działa jak malina... Jeszcze drobne poprawki wniosę i będę naprawdę zadowolony.

Co do wyjaśninia dlaczego tak kombinuję...
Mam menu we flashu, które wyświetla pewną ilość informacji (zaciągając plik txt).
W każdej podstronie jest zawarta informacja wyświetlana we flashu i htmlu.

Tak więc po kliknięciu w przycisk muszę odświeżyć html, aby pojawiła się nowa podstrona... Jednak odświeżając całą stronę aplikacja flashowa straciłaby pamięć i wyświetliła to co normalnie widzi się przy pierwszym wejściu na stronę.

Uff... Ale w ten sposób działa i nawet mi się podoba (:

Pozdrawiam serdecznie i dziękuję za pomoc!
viraptor
Zaczyna działać
Zaczyna działać
Posty: 633
Rejestracja: pn cze 28, 2004 12:58 pm
Kontakt:

Re: PHP i odświeżanie

Post autor: viraptor »

Skoro tak to wygląda.... to czemu nie zrobiłeś całej strony we flashu, gdzie możesz normalnie robić dokładnie to samo? W ten sposób nawet nie musiałbyś przeładowywać treści jako oddzielnego obiektu na stronie, ale po prostu zmienić to co flash wyświetla... Tam też można robić requesty po dane z serwera.
rider
Posty: 6
Rejestracja: ndz paź 09, 2005 11:21 pm

Re: PHP i odświeżanie

Post autor: rider »

Sęk w tym iż wymagam strony o zmiennej wysokości...
Natomiast nie wydaje mi się, aby można było zmieniać wysokość Flasha w zależności od ilości treści...

Menu znów ładniej wygląda zawsze we flashu - można sypnąć jakąś animację, etc. Przy okazji powstał problem użycia niestandardowych czcionek, które mają być identyfikowane z właścicielem strony... Ponieważ html nie może wyświetlić niestandardowych czcionek na monitorze użytkowników, więc zostało wybrane mniejsze zło:
Część strony jest we flashu z czcionką niestandardową, a reszta drobniejszych infromacji, została umieszczona w htmlu.

Daje to pewną niezależność i wygodę przeglądania strony.

Jakbym np. zrobił flasha o wysokości 550 px to miałbym bardzo, bardzo mało miejsca na treść... A suwaki, suwakami jednak troszkę utrudniają oglądanie strony i jak trzeba przewijać kilkanaście linijek to każdy oleje :/

No sami rozumiecie (:
Jak na razie przedstawię aktualną część prac:
http://www.keja.ekk.pl/new

Jeszcze dużo do zrobienia, ale niedługo, niedługo (:
PS. zapraszam również do samej knajpy - baaardzo sympatyczna atmosfera!!
ODPOWIEDZ