Może od razu zaznaczę, że w JavaScript robię dopiero pierwsze kroki. W sam język zbytnio się nie wgłębiałem bo jest mniej więcej podobny do reszty (php, pascal) - praktycznie większą uwagę skupiłem na JQuery i systemie AJAX.
Uczę się poprzez tworzenie i kombinowanie, jak coś nie wychodzi to zaglądam do internetu. Tym razem napotkałem na dość ważny problem, w którym potrzebuje raczej gotowego rozwiązania - czyli “jak inni to robią, że działa to tak jak należy”, stąd wolałem odezwać się na forum.
Ładując jakiś plik *.php do wybranego elementu na stronie wykorzystując funkcję load()
$('#okno1').load('test.php');
napotkałem się na pewien problem - mianowicie zmienne w ładowanym pliku, które są zdefiniowane w pliku w którym znajduje się element o id=okno1, nie są “odczytywane” - tzn. po załadowaniu pliku test.php wyskakuje błąd, że wykorzystuje on zmienną, która nie jest nigdzie zdefiniowana. Czytałem, że da się przekazać zmienne metodą POST i GET w ten sposób:
$('#okno1').load('test.php',{'test':'przykładowy tekst'});
Jednak nie specjalnie chce mi to działać, tzn. chcę przekazać pewną zmienną w ten sposób:
$('#okno1').load('test.php',{'userid':'<?php echo $userid; ?>'});
Próbowałem już za pomocą funkcji php include() załadować plik ‘function.php’ (w którym znajduje się zdefiniowana zmienna $userid) w pliku test.php - bez skutku. Może napiszę o co mi chodzi: - Np. tak jak na facebooku - zawartość sama się aktualizuje (tzn. odświeża się okno w którym wyświetlane są wszelkie aktywności naszych znajomych). Od strony php musi być jakaś zmienna, która definiuje zalogowanego użytkownika - tak aby na jego stronie głównej wyświetlać informacje tylko od jego znajomych. Przykładowo, aby wyciągnąć listę prywatnych wiadomości danego użytkownika należy użyć mniej więcej takiego kodu (od strony php):
mysql_query("SELECT * FROM pw WHERE odbiorca=".$userid);
Pod zmienną $userid zapisane byłoby id zalogowanego użytkownika (w moim przypadku wygląda to mniej więcej tak: przy logowaniu:
$_SESSION["userid"] = mysql_fetch_array(mysql_query("select id,login,pre from users where login = '".htmlspecialchars($_POST["login"])."' AND password = '".md5(htmlspecialchars($_POST["haslo"]))."'"));
$userid = $_SESSION["userid"]["id"];
Więc moje pytanie brzmi: w jaki sposób odświeżać dany element strony w taki sposób, aby wyświetlał różną zawartość pobraną z bazy danych zależnie od zalogowanego użytkownika.
//Jeżeli moje pytanie jest niezrozumiałe proszę o tym napisać - postaram się jakoś prościej napisać to co chcę zrobić.