Ale dziś przytrafił mi się mały problem, mianowicie:
Mam funkcję PHP (narazie nieskończona, tylko sam szkielecik):
<?php function addShout($shout){ $premission = 0; $data = dba(dbq("SELECT `shoutbox` FROM `users` WHERE `userid`='".$_SESSION['userid']."'")); $premission = $data['shoutbox']; } switch($premission){ case 0: $msg = 'Dziękujemy! Twój wpis ukaże się po akceptacji administratora.'; break; case 1: $msg = 'Dziękujemy! Twój wpis jest już aktywny.'; break; case 2: $msg = 'Nie możesz dodać nowej wiadomości. Prawdopodobnie podpadłeś:)'; break; } return $msg; } ?>
No i standartowe wywołanie w Sajaxie:
function addShout(){ var wpis = document.getElementById('shoutText').value; x_addShout(wpis, odpisz); }
Chodzi oto, że robię shoutboxa i chcę, aby skrypt sprawdzał czy wpis ma zostać przesłany do akceptacji do admina, odrazu akceptowany, czy też skasowany bez czytania w zależności od praw użytkownika. Ustawiam na początku $premission=0; to jakby był gość, niestety mimo, że jestem zalogowany na stronie i sesja jest aktywna, a $_SESSION['userid'] ma przypisaną wartość to Ajax tej sesji "nie widzi"... (wyświetla zawsze wartość dla premission=0)
Proszę o pomoc. Jak sprawić, aby Ajax widział sesje?
Pozdrawiam!
Po poszukiwaniach jakichś przykładów w internecie udało mi się samodzielnie rozwiązać ten problem. Piszę rozwiązanie, bo może się komuś przydać.
Mianowicie w funkcji, która jest eksportowana w sajaxie musiałem dopisać session_start(); a żeby wykonywać operacje w mysql musiałem od początku zdefiniować połączenie mysql_connect i mysql_select_db:)
Pozdrawiam!