Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Metoda identyfikacji przy wylogowywaniu
escaflowne
post
Post #1





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

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


Witam!
Próbuję stworzyć w php chat (a na Javie się nie znam). Chat ten korzystać ma z bazy danych mySQL. W tabeli znajdują się pola:
ID, user, czas_wejscia, czas_wyjscia i obecny.
czas_wejscia i czas_wyjscia, są to pola typu TIME, login to VARCHAR, ID to INT, a obecny to ENUM(tak,nie).
Kiedy ktoś się zaloguje, jego login i czas wejscia zostają wpisane do tabeli, pole czas_wyjscia dostaje wartość 00:00:00, a obecny wartość 'tak'.
Chciałbym, żeby po naciśnieciu na przycisk Wyloguj, jego login i czas_wejscia pozostawaly bez zmian, czas_wyjscia dostawal czas serwera a obecny zmienial sie na 'nie'. Nie wiem jednak, jaki sposob identyfikacji wprowadzic, zeby serwer wiedzial, kto chce sie wylogowac.
Mógłbym wprawdzie wprowadzić jeszcze pole, do którego trafiał by adres IP, osoby, która się loguje, ale co zrobić, jeżeli np. 2 osoby logują się na chata, a siedzą sieci lokalnej (identyczne IP)? Może plik cookie?
Nie wiem... sad.gif sad.gif sad.gif sad.gif sad.gif :cry:


--------------------
Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
kossa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


Gdy user sie loguje to po kliku zaloguj sie ustawia sie w bazie jego czas wejscia i czy jest, to zrob to samo jak kliknie na wyloguj - ten sam skrypt tylko zmodyfikowany aby ustawial pole czas_wyjscia i zmienial z tak na nie i po problemie, przeciez to proste smile.gif

pozdawiam
Kossa
Go to the top of the page
+Quote Post
escaflowne
post
Post #3





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

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


:x No dobrze, ale po prostu muszę wiedzieć, jakim parametrem ma się kierować skrypt php, aby wiedzieć, że wylogować tą, a nie inną osobę. To co sewer zrobi po zidentyfikowaniu osoby, która kliknęła na Wyloguj wiem doskonale.


--------------------
Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4
Go to the top of the page
+Quote Post
itsme
post
Post #4





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




moim skromnym zdaniem powalcz sesjami lub dodaj zmienna ID do adresu URL http://adres.pl?twoje_zmienne&ID=ID_z_bazy_danych


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
kossa
post
Post #5





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


w php jest funkcja generujaca unikalny identyfikator: uniqid()

np.:

echo uniqid("");

da wynik 43242h4kh24h324j32

i masz po problemie

jak user sie loguje to nadawaj mu wlasnie taki identyfikator, niech bedzie w sesji i niech zostaje wstawiany do Twojej tabeli w bazie (dodaj nowe pole) i potem jak wyloguj to niech robi operacje na bazie tak gdzie identyfikator = $identyfikator

i problem masz z glowy smile.gif

Pozdrawiam
Kossa
Go to the top of the page
+Quote Post
escaflowne
post
Post #6





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 20.02.2003
Skąd: Poznań

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


Przyznaję, że faktycznie myślałem, czy nie wykorzystać sesji, ale o uniqid() nie wiedziałem :oops: (trzeba będzie spojrzeć do manuala... znowu). Spróbuję... Jeśli wszystko będzie gut dam znać. Niemniej już teraz dziękuję wam za udzielone mi rady 8)


--------------------
Wieczność jest bardzo nudna, szczególnie pod koniec - Woody Allen
/home/env: Apache 2.2 | PHP 5.2 | MySQL 5.1 | FreeBSD 8.0 | NetBeans 6.8 | symfony 1.4
Go to the top of the page
+Quote Post
kossa
post
Post #7





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


pisze to na szybko z "glowy"

plik logowanie.php

Kod
<?php



$user_id = uniqid();



session_register("user_id");



//wstaw do bazy date, uder_id itd.



?>


plik wyloguj.php

Kod
<?php



global $user_id;



//modyfikuj w bazie pola where user_id = $user_id;



?>


powinno byc ok - rozwin to sobie smile.gif

Kossa
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 08:57