Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][PHP] mam problem z ifem który wysyła na stronę żeby się odświeżała
Forum PHP.pl > Forum > Przedszkole
szczypikrul
mam problem ponieważ pobieram zmienną z bazy za pomocą ajaxa (to działa) i chcę odświeżyć if który tą zmienną porównuje jeżeli true to ma wysłać użytkownika na inną podstronę i to nie działa if znajduje się w divie echo chcę uzyskać odświeżanie tego diva np co 10s

  1. <?php
  2.  
  3. session_start();
  4.  
  5. $log = '';
  6. if(isset($_SESSION['log'])){
  7. $log = $_SESSION['log'];
  8. }
  9. if(!$log == True)
  10. {
  11. header("location: ../zaloguj.php");
  12. }
  13.  
  14. ?>
  15.  
  16. <!DOCTYPE HTML>
  17. <html lang="pl">
  18. <?php include_once('include/head.php')?>
  19. </head>
  20. <body onload="onload()" onload="onload2()">
  21. <?php include_once('include/nawigacja.php')?>
  22. <h1>GRA</h1>
  23.  
  24. <div id="echo">
  25. if($_SESSION['ile']>3)
  26. {
  27. echo "no i co";
  28. header("location: index.php");
  29. }
  30. </div>
  31.  
  32.  
  33. <h1 id="liczba" style="height: 50px;">0</h1>
  34.  
  35.  
  36. <script type="text/javascript">
  37.  
  38. function loadDoc() {
  39. var xhttp = new XMLHttpRequest();
  40. xhttp.onreadystatechange = function() {
  41. if (this.readyState == 4 && this.status == 200) {
  42. document.getElementById("liczba").innerHTML = this.responseText;
  43. }
  44. };
  45. xhttp.open("GET", "ajax/gra.php", true);
  46. xhttp.send();
  47. }
  48. function loadDoc2() {
  49. var xhttp = new XMLHttpRequest();
  50. xhttp.onreadystatechange = function() {
  51. if (this.readyState == 4 && this.status == 200) {
  52. document.getElementById("echo");
  53. }
  54. };
  55. xhttp.open("GET", "gra.php", true);
  56. xhttp.send();
  57. }
  58.  
  59. function onload()
  60. {
  61. var timeinterval = setInterval(loadDoc, 100);
  62. }
  63. function onload2()
  64. {
  65. var timeinterval = setInterval(loadDoc2, 100);
  66. }
  67.  
  68.  
  69.  
  70.  
  71. <?php include_once('include/stopka.php')?>
  72. </body>
  73.  
  74. </html>
trueblue
Jeżeli wysyłasz żądanie Ajax'em, to przekierowanie musisz zrobić w JS. Czyli odpowiedź Ajax ma zawierać URL, na który chcesz przekierować (window.location.href = url).
szczypikrul
Ale jak to wymieszać z php @trueblue?
trueblue
W PHP zwracasz URL.

  1. echo "/glowna.html";
  2. //lub
  3. echo "http://domena.pl/glowna.html";
  4. exit();


W takiej postaci lub jako jedna z danych w tablicy w postaci JSON.
szczypikrul
Cytat(trueblue @ 5.04.2018, 21:25:51 ) *
W PHP zwracasz URL.

  1. echo "/glowna.html";
  2. //lub
  3. echo "http://domena.pl/glowna.html";
  4. exit();


W takiej postaci lub jako jedna z danych w tablicy w postaci JSON.


nie do końca rozumiem jak
trueblue
Czego nie rozumiesz?
szczypikrul
jak tego js
dać w
if(coś tam)
{
}
@trueblue


ja tak dałem
if($_SESSION['ile']>0)
{
echo'<script>window.location=\"http://stackoverflow.com\";</script>';

}
i nie działa

Cytat(trueblue @ 5.04.2018, 21:51:10 ) *
Czego nie rozumiesz?

trueblue
Podałem Ci przykład.
W PHP zwracasz URL. W JS odbierasz ten URL i podstawiasz do window.location.href

  1. echo "http://stackoverflow.com";
  2. exit();

  1. ...
  2. window.location.href = this.responseText;
  3. ...


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.