Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: include+ajax ?
Forum PHP.pl > Forum > PHP
DenVer89
Witam mam kod:
  1. <?php
  2. if(isset( $_GET['page'])){
  3. if(file_exists( $_GET['page'].".php")){
  4. $plik = $_GET['page'].".php";
  5. include($plik);
  6. }else{
  7. echo "<div class=\"msg_negatywny\" style=\"text-align:center;\">Wystapil blad - brak pliku!</div>";
  8. }
  9. }else{
  10. include("stronaglowna.php");
  11. }
  12. ?>

includuje pliki:
index.pl?page=jakas pod strona
gdy includuje to mi się zawsze strona przeładowuje a jak zrobić aby ona się nie przeładowywała questionmark.gif
jastu
A co masz w pliku stronaglowna.php ?
DenVer89
zawartoś która się wczytuje automatycznie w index questionmark.gif z uruchomieniem strony i jest ok to norma ale jak klikne w link to wczytuje nową zawartość i przeładowuje się strona a jak zrobić aby nie przeładowywała się questionmark.gif
b_chmura
a proszę ja Ciebie w najprostszy sposób jest się zainteresować advAjax link

robisz sobie taką funkcje:
Kod
<script type="text/javascript">
function include(adres, element)
{
  advAJAX.get({url: adres, onSuccess : function(obj) {document.getElementById(element).innerHTML = obj.responseText; }})
}
</script>


adres - url do pliku
element - id div'a do którego chcemy wczytać zawartość pliku

wywołujemy:
Kod
<a href="javascript: include('plik.php', 'tresc');">Pokaż</a>
<div id="tresc"></div>

dodatkowo oczywiście trzeba pobrać i wczytać bibliotekę advAjax

P.S: pisane z palca...
DenVer89
właśnie siedze na tej stronie ale nie mam pojęcia jak to zrobić sad.gif pomóz mi zrobić aby to działało z moim kodem jak napisałem wyzej ?
b_chmura
napisz dokładnie o co chodzi bo jak na razie nie widzę rozwiązania na Twoje potrzeby...

Z kodu wywnioskowałem ze chcesz zaincludować stronę którą podałeś w url.
A jak dodajesz te strony do url'u? przez jakiś odnośnik? czy sam wpisujesz w url?
jeśli to pierwsze to tak jak napisałem
Kod
<html>
<head>
<title> strona www</title>
<script type="text/javascript" src="advajax.js"></script>
<script type="text/javascript">
function include(adres, element)
{
  advAJAX.get({url: adres, onSuccess : function(obj) {document.getElementById(element).innerHTML = obj.responseText; }})
}
</script>
</head>
<body>
<!--linki-->
<a href="javascript: include('sciezka/do/pliku1.php', 'tresc')">plik1</a><br />
<a href="javascript: include('sciezka/do/pliku2.php', 'tresc')">plik2</a><br />
<a href="javascript: include('sciezka/do/pliku3.php', 'tresc')">plik3</a><br />
<!--end link-->
<div id="tresc"></div>
</body>
</html>

i żadnego php nawet nie potrzebujesz:)

EDIT
ah zapomniałem dodać
Kod
<script type="text/javascript" src="advajax.js"></script>

już poprawione smile.gif. Plik możesz ściągnąć ze strony którą podałem Ci wcześniej.

P.S: pisane z palca - mogą pojawić sie literówki...
DenVer89
nie no normalnie będą odnoścniki winksmiley.jpg:
index.php?page=strona1
index.php?page=strona2
index.php?page=strona3
index.php?page=strona4
i robie include tylko nie ma przeładowywać strony winksmiley.jpg
b_chmura
no jejku to przecież już na chłopski rozum:

  1. <?php
  2. $page = $_GET['page'];
  3.  
  4. if(isset($page))
  5. {
  6. $page = $page.'.php';
  7.  
  8. if(file_exists($page))
  9. {
  10. include($page);
  11. }
  12. else
  13. {
  14. echo "<div class=\"msg_negatywny\" style=\"text-align:center;\">Wystapil blad - brak pliku!</div>";
  15. }
  16. }
  17. else
  18. {
  19. include("stronaglowna.php");
  20. }
  21. ?>
  22. <html>
  23. <head>
  24. <title> strona www</title>
  25. <script type="text/javascript" src="advajax.js"></script>
  26. <script type="text/javascript">
  27. function include(adres, element)
  28. {
  29. advAJAX.get({url: adres, onSuccess : function(obj) {document.getElementById(element).innerHTML = obj.responseText; }})
  30. }
  31. </script>
  32. </head>
  33. <body>
  34. <!--linki-->
  35. <a href="javascript: include('index.php?page=strona1', 'tresc')">plik1</a><br />
  36. <a href="javascript: include('index.php?page=strona2', 'tresc')">plik2</a><br />
  37. <a href="javascript: include('index.php?page=strona3', 'tresc')">plik3</a><br />
  38. <!--end link-->
  39. <div id="tresc"></div>
  40. </body>
  41. </html>
DenVer89
nie działa jak powinno bo plik stronaglowna.php includuje automatycznie i wczytuje go na góre strony :/ tak samo jest gdy klikne w link questionmark.gif
b_chmura
mój błąd.
  1. <?php
  2. $page = $_GET['page'];
  3.  
  4. if(isset($page))
  5. {
  6. $page = $page.'.php';
  7.  
  8. if(file_exists($page))
  9. {
  10. include($page);
  11. }
  12. else
  13. {
  14. echo "<div class=\"msg_negatywny\" style=\"text-align:center;\">Wystapil blad - brak pliku!</div>";
  15. }
  16. }
  17. else
  18. {
  19. include("stronaglowna.php");
  20. }
  21. ?>

to wsadź do jakiegoś innego pliku np. silnik.php
a w linkach pozmieniaj:
Kod
<a href="javascript: include('index.php?page=strona1', 'tresc')">plik1</a><br />

na:
Kod
<a href="javascript: include('silnik.php?page=strona1', 'tresc')">plik1</a><br />
Babcia@Stefa
Poco ci includować przez ajax?
Dla mnie zupełnie bez sensu. Za każdym razem trzeba odświerzać stronę, nie lepiej użyć include()" title="Zobacz w manualu PHP" target="_manual(taki sam efekt)?

Dziękuję, Babcia@Stefa
skowron-line
Cytat(Babcia@Stefa @ 17.08.2007, 13:35:47 ) *
Poco ci includować przez ajax?
Dla mnie zupełnie bez sensu. Za każdym razem trzeba odświerzać stronę, nie lepiej użyć include()" title="Zobacz w manualu PHP" target="_manual(taki sam efekt)?

Dziękuję, Babcia@Stefa

dla ciebie bez sesnu bo nie kumasz ze jak stosuje sie ajax to sie nie odswieza calej strony tylko okreslony element np div w ktorym jest glowna czesc strony.
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.