Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]prywatne wiadomosci
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
pogrom
potrzebuje skryptu dzieki ktoremu bedzie mozliwe wysylanie wiadomosci do poszczegolnych uzytkownikow wewnatrz strony...mam juz logowanie rejestracje itp(nie w bazach danych) a tego nie moge jakos zrobic...z gory dzieki za pomoc
Rafal Filipek
to z czym masz problem ?
masz tabele
Kod
users: id, login
messages : id (int), sender_id (int), reciver_id (int), message (text), readed(tinyint)

i teraz jak ktos sie zaloguje to pewnie przechowujesz jego id gdzies w sesji. Tak wiec musisz tylko zrobic pobieranie wiadomosci ktore maja readedustawione na 0.
Kod
select * from messages where readed= 0 and reciver_id = ( tutaj wstawiasz id użytkownika )

potem jak ktos wejdzie zeby przeczytac czy ma nowa wiadomosc o ile jest to pierwszy raz gdy ja czyta zmieniasz readed na 1
Kod
update messages set readed = 1 where id = ( tu wstawiasz id wiadomosci )

i tyle. do tego jakies kasowanie wiadomosci.
pogrom
nie potrzeba mi skasowane/czytane/nieczytane itp. chodzi mi tylko zeby trafialy do konkretnego uzytkownika i do nikogo wiecej...jezeli potrzeba to moge wrzucic to co mam w tej chwili
Rafal Filipek
No to przeciez masz w tabeli messages pole reciver_id które przechowuje id użytkownika do którego wiadomość ma trafic.
pogrom
nie mam takowej tabeli....
Rafal Filipek
myfgod. W moim przykładzie. chciałem ci pokazać zasadę działania. żeby wiedzieć do jakiego użytkownika ma trafić dana wiadomość musisz jakoś przchowywać jego identyfikator dla każdej wiadomości - najlepszym rozwiązaniem jest jego id które tak jak napisałem na pewno przechowujesz po zalogowaniu sie przez niego w sesji.
pogrom
no tak do tego sam doszedlem...co do twojego przykladu to nic z niego nie zrozumialem ogolnie;) (jestem mocno zielony w php) wiem jak zrobic zeby wiadomosc byla do wszystkich tylko chodzi mi o jakas komende czy kawalek skryptu dzieki ktoremu tylko jeden uzytkownik bedzie mogl czytac to wiadomosc(nie umiem wykorzystac tego id uzytkownika wczesniej ustalonego)
Rafal Filipek
podałem ci przykład zapytania do wybierania wiadomości dla danego użytkownika. ciężko jest mi bardziej ci pomóc bo nie wiem w czym masz problem. to są naprawde totalne podstawy. Zacznij coś pisać i zgłaszaj się jak wyniknie ci jakis konkretny problem.
pogrom
no to mam konkretny problem...nie wiem jak wykorzystac login (czyli te id ktore ustalalem wczesniej) do tego zeby ten uzytkownik czytal wiadomosc a inny nie...
Rafal Filipek
Kod
select * from messages where readed= 0 and reciver_id = ( tutaj wstawiasz id użytkownika )

to zapytanie do bazy danych zwroci ci listę wszystkich wiadomosci danego użytkownika. sorry jak nie umiesz wykorzystac tego zapytania / przykładu to powinienes przeobic dokładnie jakis kurs php / mysql ( czy innej bazy jakiej używasz ).
pogrom
heh...moj pierwszy post w tym temacie - chodzi o to ze ma to nie byc w bazie danych i w tym problem...to co pisales wczesniej istotnie jest proste ale w oparciu o bazy danych a ja myslalem ze piszesz wlasnie nie o bazch danych - stad cale nieporozumienie
Rafal Filipek
no to jak przechowujesz dane ? w pliku tekstowym ? jaki to ma format ?
zasada działania jest taka sama tyle, że plik musisz przejrzec cały i wyłuskać z niego wiadomosci dla danego użytkownika.
pogrom
zwykly plik tekstowy...narazie przechowuje wszystkie wiadomosci w jednym pliku jutro zrobie zeby dla kazdego uzytkownika byl oddzielny pliczek z wiadomosciami i teraz nie wiem jak to potem do konkretnego uzytkownika przekazac
Rafal Filipek
omg, no to zapisuj wiadomosci dla odbiocy a nie nadawcy. jezeli ktos napisze wiadomosc do uzytkownika o id = 2 to zapisz to w pliku ( to tylko przykladowa nazwa ) messages_2.txt i juz. potem jak uzytkownik o id = 2 sie zaloguje to pobierzesz plik messages_2.txt i wyswietlisz wszystkie wiadomosci.
pogrom
dobra moze cos z tego zrobie tak czy siak dzieki za pomoc
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-2024 Invision Power Services, Inc.