Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][AJAX]Odświeżanie div bez przeładowania
djtomaszq
post 29.07.2015, 19:02:12
Post #1





Grupa: Zarejestrowani
Postów: 192
Pomógł: 0
Dołączył: 5.07.2015

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


Chciałem aby div czatu odświeżał mi się bez przeładowania w ajaxie ale nie wiem jak to ułożyć żeby nie było problemów.

index.php część ajaxowa
  1. var object = false;
  2.  
  3. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  4. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  5.  
  6. function getData(dataSource, divID)
  7. {
  8. if (object.readyState==4 || object.readyState==0)
  9. {
  10. var obj = document.getElementById(divID);
  11.  
  12. object.open("GET", dataSource);
  13.  
  14. object.onreadystatechange = function()
  15. {
  16. if (object.readyState == 4 && object.status == 200)
  17. obj.innerHTML= object.responseText;
  18. }
  19. object.send(null);
  20. }
  21. }
  22.  
  23. function odswiezaj()
  24. {
  25. getData('glowna.php','czat');
  26. setTimeout("odswiezaj()", 1000);
  27. }
  28.  
  29. </script>


index.php czesc diva
  1. <script language=javascript>
  2. odswiezaj();
  3. </script>
  4.  
  5. . . . . .
  6.  
  7. <li><a href="index.php?parent=czat">CZAT</a></li>
  8.  
  9. . . . . .
  10.  
  11. CASE "czat":
  12. INCLUDE 'czat/czat.php';
  13. BREAK;


czat.php

  1. <div id="czat"><?
  2.  
  3. srand(time());
  4. $numer = rand(1, 10);
  5. echo $numer;
  6.  
  7. ?></div><?


.htaccess
  1. <Files *.php>
  2. order deny,allow
  3. deny from all
  4. </Files>
  5.  
  6. <Files index.php>
  7. allow from all
  8. </Files>
  9.  
  10. <Files logout.php>
  11. allow from all
  12. </Files>
  13.  
  14. <Files error.php>
  15. allow from all
  16. </Files>
  17.  
  18. <Files glowna.php>
  19. allow from all
  20. </Files>


Chodzi chyba głównie o tą linijkę: getData('glowna.php','czat');

jak wpiszę tak jak jest wyżej to odświeża mi ok ale dlatego że w .htaccess odblokowałem plik glowna.php a TEGO NIE CHCE. Jeśli go zablokuje z powrotem to w divie pokazuje błąd 403..

Jak to rozwiązać odpowiednio ?
Go to the top of the page
+Quote Post
kapslokk
post 29.07.2015, 19:21:26
Post #2





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Czyli jednocześnie chcesz mieć odblokowany plik glowna.php i zablokowany. tongue.gif
Stwórz w indexie funkcje która bedzie Ci pobierała dane które chcesz wypluć i przez index to wszystko wygrzebuj.
Poza tym
  1. setTimeout("odswiezaj()", 1000);

wydaje mi sie, że powinno być:
  1. setTimeout(odswiezaj, 1000);
Go to the top of the page
+Quote Post
djtomaszq
post 29.07.2015, 19:29:08
Post #3





Grupa: Zarejestrowani
Postów: 192
Pomógł: 0
Dołączył: 5.07.2015

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


Hmm.. no chce, żeby nie można było wejść bezposrednio na www.domena.pl/pliki/glowna.php ale można było na www.domena.pl/index.php?parent=czat gdzie inlcuduje tylko zawartosc tego pliku pliki/glowne.php ktore beda sie odswiezac na tym divie..
Przy pierwszym wejsciu na tą strone jesli plik glowne.php jest zablokowany strona sie pojawia normalnie ale odswiezona juz z bledem..


Edit.. Teraz to juz nie wiem jak to wszystko wygrzebywac.. smile.gif

Cytat(kapslokk @ 29.07.2015, 20:21:26 ) *
wydaje mi sie, że powinno być:
  1. setTimeout(odswiezaj, 1000);


Bez tego nie odświeża strony.. smile.gif

Ten post edytował djtomaszq 29.07.2015, 19:27:41
Go to the top of the page
+Quote Post
kapslokk
post 29.07.2015, 19:38:07
Post #4





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Czyli w indexie masz coś w stylu:

  1. if($_GET['parent'] == 'czat'){
  2. include_once('glowne.php');
  3. }

tak ?
Jesteś w stanie wrzucić cały plik?

Ten post edytował kapslokk 29.07.2015, 19:42:32
Go to the top of the page
+Quote Post
djtomaszq
post 31.07.2015, 08:40:09
Post #5





Grupa: Zarejestrowani
Postów: 192
Pomógł: 0
Dołączył: 5.07.2015

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


Tak

  1. <div id="TRESC">
  2. <?
  3. SWITCH ($_GET['parent']){
  4.  
  5. CASE "forum":
  6. INCLUDE 'forum/forum.php';
  7. BREAK;
  8.  
  9. CASE "czat":
  10. INCLUDE 'czat/czat.php';
  11. BREAK;
  12. ... itd


EDIT. Rozumiem, że nikt nie potrafi pomóc...
Go to the top of the page
+Quote Post
kapslokk
post 31.07.2015, 08:46:41
Post #6





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


  1. function odswiezaj()
  2. {
  3. getData('index.php.php?ajax=1&glowna=1','czat');
  4. setTimeout("odswiezaj()", 1000);
  5. }

Index.php na poczatku dodaj sobie
  1. if(isset($_GET['ajax']) && isset($_GET['glowna'])){
  2. include('glowna.php'); exit;
  3. }
Go to the top of the page
+Quote Post
djtomaszq
post 1.08.2015, 13:35:24
Post #7





Grupa: Zarejestrowani
Postów: 192
Pomógł: 0
Dołączył: 5.07.2015

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


Wyskakuje strona w stronie i do tego error 403

Problem jest z tym kodem chyba

  1. getData('index.php?parent=czat','czat');


Wtedy wyswietla mi w divie "parent=czat" jeszcze raz całą strone index.php a powinno tylko zawartosc pliku czat.php
czyli powinienem wpisać

  1. getData(czat/czat.php','czat');


ale nie moge bo mam zablokowany ten plik w .htaccess a jeśli go odblokuje to bedzie wszystko gralo tylko że wtedy będzie możliwe wejsce na strone www.domena.pl/czat/czat.php co nie może mieć miejsca, nie wiem w którą stronę z tym kombinować... :/
Go to the top of the page
+Quote Post
kapslokk
post 1.08.2015, 14:12:05
Post #8





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Dlatego w indexie, powinieneś zrobić coś, co jeżeli przekażesz jakieś parametry to wyrzuci Twój czat, a jeśli ich nie przekażesz to normalnie stronę.
Go to the top of the page
+Quote Post
djtomaszq
post 1.08.2015, 15:13:21
Post #9





Grupa: Zarejestrowani
Postów: 192
Pomógł: 0
Dołączył: 5.07.2015

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


To już nie mam pojęcia jak to spiąć bo Twój pomysł nie działa..
Go to the top of the page
+Quote Post
kapslokk
post 1.08.2015, 19:23:28
Post #10





Grupa: Zarejestrowani
Postów: 965
Pomógł: 285
Dołączył: 19.06.2015
Skąd: Warszawa

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


Wrzuć cały kod... Tzn przynajmniej index.php, postaram się coś wykminić smile.gif
Go to the top of the page
+Quote Post
djtomaszq
post 2.08.2015, 08:46:16
Post #11





Grupa: Zarejestrowani
Postów: 192
Pomógł: 0
Dołączył: 5.07.2015

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


plik glowna.php miesci sie w czat/glowna.php

index.php
  1. <?php
  2. include_once 'config.php';
  3. ?>
  4. <html>
  5. <head>
  6. <title>W</title>
  7. <link rel="Shortcut icon" href="http://cdns2.freepik.com/darmowe-zdjecie/wariant-pi%C5%82ka_318-49974.jpg" />
  8. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  9. <link href="http://localhost/~w/css/style.css" type="text/css" rel="stylesheet" />
  10. <link href="http://localhost/~w/css/style_forum.css" type="text/css" rel="stylesheet" />
  11. <link href="http://localhost/~w/css/style2.css" type="text/css" rel="stylesheet" />
  12.  
  13. <script language=javascript>
  14.  
  15. var object = false;
  16.  
  17. if (window.XMLHttpRequest) object = new XMLHttpRequest();
  18. else if (window.ActiveXObject) object = new ActiveXObject("Microsoft.XMLHTTP");
  19.  
  20. function getData(dataSource, divID)
  21. {
  22. if (object.readyState==4 || object.readyState==0)
  23. {
  24. var obj = document.getElementById(divID);
  25.  
  26. object.open("GET", dataSource);
  27.  
  28. object.onreadystatechange = function()
  29. {
  30. if (object.readyState == 4 && object.status == 200)
  31. obj.innerHTML= object.responseText;
  32. }
  33. object.send(null);
  34. }
  35. }
  36.  
  37. function odswiezaj()
  38. {
  39. getData('glowna.php','TRESC');
  40. setTimeout("odswiezaj()", 1000);
  41. }
  42.  
  43. </script>
  44.  
  45. </head>
  46. <body>
  47.  
  48. <div id="top">
  49. <div id="NAGLOWEK"><span>Logo</span></div>
  50. <div id="LOGOWANIE"><?php include 'pliki/logowanie.php'; ?></div>
  51. <div id="menu_glowne"><center>
  52. <ul>
  53. <li><a href="index.php?parent=glowna">STRONA GŁÓWNA</a></li>
  54. <li><a href="index.php?parent=forum">FORUM</a></li>
  55. <li><a href="index.php?parent=czat">CZAT</a></li>
  56. <li><a href="#">MECZ</a></li>
  57. <li><a href="#">KONTAKT</a></li>
  58. <li><a href="#">POMOC</a></li>
  59. </ul></center>
  60. </div>
  61.  
  62. <div id="TRESC">
  63. <?
  64.  
  65. SWITCH ($_GET['parent']){
  66.  
  67. CASE "forum":
  68. INCLUDE 'forum/forum.php';
  69. BREAK;
  70.  
  71. CASE "czat":
  72. INCLUDE 'czat/czat.php';
  73. BREAK;
  74.  
  75. CASE "rejestr":
  76. INCLUDE 'pliki/register.php';
  77. BREAK;
  78.  
  79. CASE "logi":
  80. INCLUDE 'pliki/login.php';
  81. BREAK;
  82.  
  83. CASE "profi":
  84. include 'pliki/profile.php';
  85. BREAK;
  86.  
  87. CASE "lista":
  88. INCLUDE 'pliki/userlist.php';
  89. BREAK;
  90.  
  91. CASE "edycja":
  92. INCLUDE 'pliki/editprofile.php';
  93. BREAK;
  94.  
  95. DEFAULT:
  96. include 'glowna.php';
  97. BREAK;
  98. }
  99. ?>
  100. </div>
  101.  
  102. <div id="STOPKA"> Copyright &copy 2015 Theo</div>
  103. </div>
  104. </body>
  105. </html>


glowna.php
  1. <?php
  2. if(!$_SESSION['logged'])
  3. echo '
  4. <div id="REJESTRACJA" style="padding-top: 50px; padding-bottom: 50px; color: #666666; ">
  5. <center>
  6. Musisz się
  7. <a href="index.php?parent=logi">ZALOGOWAĆ</a>
  8. aby mieć dostęp do tej strony!
  9. Nie masz konta? Załóż je
  10. <a href="index.php?parent=rejestr">TUTAJ!</a>
  11. </center>
  12. </div>
  13. ';
  14. else
  15. {
  16. ?>
  17. <div id="czat">
  18.  
  19. <script language=javascript>
  20. odswiezaj();
  21. </script>
  22.  
  23. <?
  24.  
  25. srand(time());
  26. $numer = rand(1, 10);
  27. echo $numer;
  28.  
  29. ?></div><?
  30. }
  31. ?>


smile.gif

Ten post edytował djtomaszq 2.08.2015, 14:01:42
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: 20.06.2025 - 20:50