Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z wywoływaniem podstron
Forum PHP.pl > Forum > PHP
skabszo
Witam mam dość duży problem. Mam stronkę pod adresem: www.dhost.info/skabszo/images/ . Jest to jak widać połączenie flasha i php. Problem polega na tym, że po kliknięciu na button, wybrana podstrona się włącza, ale niestety wygląda to tak jakby się cały index od nowa ładował i wtedy jest już załadowana podstrona a nie tak że menu i top są stałe i ładują się tylko raz. Używam do tego kodu:
  1. <?php
  2.    switch ($_GET['action']) {
  3.       case 'news' :
  4.          $path = 'news';
  5.             break;
  6.       case 'links' :
  7.          $path = 'linki';
  8.             break;
  9.       default :
  10.          $path = 'home';
  11.    }
  12.    @include($path.'.php');
  13. ?>

No i ja nie chcę by po kliknięciu na button ( przy oglądaniu najlepiej klikać na pierwszy z lewej) by się strona ładowałą cała od pocztku jak jest teraz tylko żeby to działało poprawnie czyli menu i top są stałe a zmienia sie tylko strona wywoływana przeze mnie. Wiem że to można zrobić na ramkach ale ramki hm.. słyszałem że można to zrobić na include no ale jak robię to i tak nic z tego nie wychodzi. Oto całe źródło strony:
Kod
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
 <title>Kabaret N.O.C. //by gam3r</title>
 <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-2'>
    
 <style type='text/css'>    
 A:link {text-decoration:none; color:#333333}
    A:visited {text-decoration:none; color:#333333}
    A:hover {text-decoration:none; color:#dbdbdb}    
    </style>
     
</head>
<body>
         <table width=800 align=center>
         <tr>
   <td align=center colspan='2'>
   <iframe name="r1" border='0' src="pro.swf" marginwidth="0" frameborder="0" width="760" height="150" marginheight="0" scrolling="NO" />

          <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="760"
height="150" id="pro" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="pro.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#404040" />
<embed src="pro.swf" quality="high" bgcolor="#404040" width="760" height="150" name="pro" align="middle"
allowScriptAccess="sameDomain" type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object></iframe></td>
  </tr>
  <tr>
   <td align=center colspan='2'><iframe name="r2" src="pre.swf"  frameborder="0" width="760" height="40" marginwidth="0" marginheight="0" scrolling="NO" />
    
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="760"
height="40" id="pre" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="pre.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#404040" />
<embed src="pre.swf" quality="high" bgcolor="#404040" width="760" height="40" name="pre" align="middle"
allowScriptAccess="sameDomain" type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
   </iframe>
   
   </td>
  </tr>
  <tr>
   <td width=200></td>
   <td align=center ></td>
  </tr>
  <tr>
   <td colspan="2" >
<?php
  switch ($_GET['action']) {
     case 'news' :
        $path = 'news';
           break;
     case 'links' :
        $path = 'linki';
           break;
     default :
        $path = 'home';
  }
  @include($path.'.php');
?>

</td>
  </tr>
    
  </table>

  </body>
  </html>
 
 
  </table>

</body>
</html>

Słyszalem że przeładowywuje sie ta strona dlatego że aby wywołać skrypt php strona musi być przeładowana. Nie wiem czy to prawda bo ja na php sie nie znam wogole a za własnie programowanie strony jest odpowiedzalna inna osoba. Czy ktoś ma jakiś pomysł? pozdrawiam
kszychu
Tak niestety jest, że jeżeli nie używasz ramek, to cała strona musi się ładować od nowa. Dla przeglądarki nie ma już nagłówków, stopek i innych części które składają sięw php - przeglądarka dostaje już jeden dokument.
Alternatywą może być Ajax, ale zanim się za niego weźmiesz polecam Ci głębsze poznanie php, xml i javascriptu.
Vogel
akurat jesli zaprzegamy Flasha to zaden AJAX czy ramki nie beda potrzebne winksmiley.jpg

flash wczytuje nowa tresc strony (XML), i przy pomocy JS czysci wybrany "innerHTML" i wypelnia go nowym tekstem. zero przeladowan strony + dodatkowo mamy do dyspozycji flashowy loader snitch.gif w sumie to moze byc na prawde fajny patent... wieczorkiem zarzuce przykladem...
skabszo
wporzadku vogel smile.gif w takim razie czekam ;]
Vogel
dlugo czekac nie musiales winksmiley.jpg kiedys mnie zabija w robocie za bumelanctwo biggrin.gif

http://vogel.art.pl/flash_preloader.zip

zawartość:
index.html - stronka + skrypt JS
fla-63.swf - flash 8
interface.xml - XML z ładowaną treścią
fla-63.fla - źródło (Flash 8)

Flash ładuje XMLa a potem przypomocy JS wrzuca go do wybranego DIVa. Mamy więc serwis ktory laduje tresc bez przeladowania strony. W dodatku z mozliwoscia dodania milego preoladera winksmiley.jpg

Aby caly serwis dzialal jak trzeba (tzn. bez przeladowania) wszelkie linki umieszczane w tekscie powinny dzialac w druga strone: tzn. wysylac (JS) do Flasha informacje jaka tresc ma zaladowac.

Oczywiście takie Flashowe menu to niezgodność ze standardami xHTML, ale przy eksperymentalnych projektach, badz tez netowych prezentacjach moze sie przydac.

EDIT:
aha, zapomnialbym. calosc oczywiscie odpalamy NA SERWERZE chocby i lokalnym. odpalanie z dysku, flasha komunikujacego sie z JS to strata czasu - zabezpieczenia nie pozwola na poprawne dzialanie stronki...
skabszo
eee no bajer biggrin.gif dzieki Vogel ;]
Ravv
Witam.

Vogel, wrzuć jeszcze raz ten pliczek (http://vogel.art.pl/flash_preloader.rar) bo chciałbym go zobaczyć a już go nie ma sad.gif. Ewentualnie wrzuć mi go na maila. DZIKI!
Vogel
fuksiarz ;] gdzies to jeszcze odgrzebalem: http://vogel.art.pl/flash_preloader.zip
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.