Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> if wartość X w mysql=1 to include plik.php
adek-
post
Post #1





Grupa: Zarejestrowani
Postów: 124
Pomógł: 2
Dołączył: 19.04.2007
Skąd: Częstochowa

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


Chłopaki zrobiłem sobie w php proste sprawdzanie warunku, gdzie jeśli się spełni to użytkownik dostaje monit na ekranie -include popup.php, ale jak to w php bywa, trzeba odświerzyć stronę co załatwiłem wpisem do meta
  1. <meta http-equiv="refresh" content="200">

co nie bardzo mi leży, bo strona się odświeża bardzo często i co prawda tylko przy 20 użytkownikach jakoś nie męczy serwera, ale bardzo przeszkadza ;/
Szukałem rozwiązań w AJAXIE na którym się totalnie nie znam i poznjandywałem tutoriale, które robią to wszystko za pomocą GET,POST itd, a ja mam tylko sprawdzenie wartości MySQL nakierujcie mnie proszę na jakiś wątek jak by mógł wyglądać taki request poniżej w ajaxie?
  1. <?php // #### komunikat dla zalogowanego użytkownika gdy info=1 -zmieniono wartość popup wyskoczy
  2.  
  3. if (isset($_SESSION['login']) && !empty($_SESSION['login'])) {
  4. $wynik=mysql_query("SELECT * FROM $tabela WHERE login='{$_SESSION['login']}' and info=1");
  5. if (mysql_num_rows($wynik) == 1) {
  6. include('popup.php');
  7. } else {?>
  8. <?php }} ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
amii
post
Post #2





Grupa: Zarejestrowani
Postów: 728
Pomógł: 76
Dołączył: 12.06.2009

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


Ustaw sobie w JS setInterval na 200 sek. i wywołuj skrypt php sprawdzający sesję. Zmniejszysz obciążenie i nie będziesz przeładowywał całej strony.
Wskazówki jak to zrobić z jQuery:
1. w body onload lub document.ready ustawiasz funkcję jQuery np. zaladuj
[JAVASCRIPT] pobierz, plaintext
  1. function zaladuj () {
  2. setInterval("load", 20000);
  3. }
[JAVASCRIPT] pobierz, plaintext


2. W funkcji load piszsz :
[JAVASCRIPT] pobierz, plaintext
  1. function load () {
  2. $.post("skrypt.php",{login:document.forms[0].session_login.value}, function(data) {
  3. if (data) $('#pole_input').html("zawartosc_popup"); //to może być problem bo w ten sposób możesz umieścić treść tylko po przeparsowaniu przez serwer, ewentualnie możesz pokombinować z header i przekierowaniem z odpowiednim parametrem ale wtedy nie unikniesz przeładowania całej strony więc wyjdzie na to samo co masz teraz
  4. else {}
  5. setInterval("load", 20000);
  6. });
  7. }
[JAVASCRIPT] pobierz, plaintext


3. Ustawiasz ukryte pole z wartością sesji:
  1. <input name="session_login" id="session_login" type="hidden" value="'.$_SESSION['login'].'"/>


4. W pliku php zaczytujesz zmienną z tablicy POST i dalej obsługujesz tak samo jak teraz:
  1. $login = $_POST['login'];


Ten post edytował amii 31.10.2011, 12:28:51
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 18:58